在VB6中获取堆栈跟踪

3

不是要 刻意强调一个无用的 话题, 但我在CodePlex上找到了一个名为StackWalker的项目,它为本地应用程序(C++应用程序)提供堆栈跟踪。 不了解现代C ++,这也适用于VB6应用程序吗? VB6函数与C ++中的函数有何不同?

1个回答

6
首先,这取决于您如何构建vb6应用程序。项目+属性,编译选项卡。确保选择“编译为本机代码”单选按钮。并且打开“创建符号调试信息”选项已选中,此工具需要PDB才能提供有用的堆栈跟踪。请注意,在运行IDE中的代码时,它不起作用,因为总是构建为p-code。
更难的问题是msvbvm60.dll的调试信息,这是VB6虚拟机。大多数任何您运行的代码都通过此支持DLL进行处理,即使您构建为本机代码也是如此。您需要的PDB从Microsoft符号服务器中不再提供。不确定原因,可能是因为它确实是一个死掉的马。

5
你可以从Windows XP SP3符号包柜文件(大约250MB)中获取6.0.98.2 MSVBVM60.DLL(随XP SP3一起提供的DLL文件)和MSVBVM60.PDB。 - Syclone0044

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接