修正 bug 并重构清理处理，win32 下测试通过