c++ - 在 VB6 中获取堆栈跟踪

标签 c++ vb6 stack-trace

flog一个dead horse , 但我在 CodePlex 上找到了一个名为 StackWalker 的项目,它为 native 应用程序(C++ 应用程序)提供堆栈跟踪。不太了解现代 C++,这也适用于 VB6 应用程序吗? VB6 函数与 C++ 中的函数有何不同?

最佳答案

这首先取决于您构建 vb6 应用程序的方式。项目 + 属性,编译选项卡。确保选中“编译为 native 代码”单选按钮。并打开“Create Symbolic Debug Info”选项被选中,这个工具需要一个 PDB 来提供有用的堆栈跟踪。请注意,当您从 IDE 运行代码时它不会很好地工作,它总是构建为 p 代码。

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

关于c++ - 在 VB6 中获取堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12132737/

相关文章:

c++ - 从用户定义的头文件调用函数时出现 undefined reference 错误,它的实现在 .cpp 文件中

c++ - 如何跟踪 C++ 标准库调用的内存分配?

c++ - 如何在 C 中找到可执行文件的位置?

windows - 如何强制应用程序以管理员权限运行

vb.net - VB6 中的 Attribute 关键字有什么作用?

vb6 跟踪从何处调用函数

java - 如何获取传递给调用此方法的方法的参数?

c++ - 交叉编译到 x86 时出现 libboost 系统链接器错误

java - 在进行特定系统调用时记录 java 堆栈跟踪?

java - 在没有调试器的情况下在 VS Code 中导航 Java 堆栈跟踪