3

不要鞭打 ,但我在 CodePlex 上找到了一个名为StackWalker的项目,它为本地应用程序(C++ 应用程序)提供堆栈跟踪。对现代 C++ 不太了解,这也适用于 VB6 应用程序吗?VB6 函数与 C++ 中的函数有什么不同吗?

4

1 回答 1

6

这首先取决于您如何构建您的 vb6 应用程序。项目 + 属性,编译选项卡。确保选中“编译为本机代码”单选按钮。并打开“创建符号调试信息”选项被选中,这个工具需要一个 PDB 来提供有用的堆栈跟踪。请注意,当您从 IDE 运行代码时,它不会很好地工作,这些代码总是构建为 p-code。

更难的问题是 VB6 虚拟机 msvbvm60.dll 的调试信息。您运行的大多数代码都通过此支持 DLL,即使您构建为本机代码也是如此。Microsoft 符号服务器不再提供所需的 PDB。不知道为什么,可能是因为它真的是一匹死马。

于 2012-08-26T19:04:05.297 回答