我可以使用哪个工具来查看正在运行的进程的调用堆栈?msdn link,但我需要在调试模式下运行可执行文件吗?我可以通过哪些其他工具/方式查看正在运行的进程的调用图/资源访问图?我有一个来自开发人员的外部库来构建我自己的机器视觉算法,但外部库是二进制形式的。当我在我的代码中使用该库时,由于我们访问图像的方式而导致崩溃。我想查看调用图或资源访问图。
问问题
941 次
1 回答
0
我需要让可执行文件处于调试模式吗?
我不确定您的意思是什么,但是获取进程的调用堆栈将适用于调试构建和发布构建的二进制文件。通常,调试和发布之间唯一真正的区别是包含的优化和调试信息的数量。
我可以通过哪些其他工具/方式查看正在运行的进程的调用图/资源访问图?
Visual Studio 中最简单的方法是在调试器下运行程序(只需按 F5),但是,您也可以按照链接中包含的说明附加到正在运行的进程。
如果您在第一次机会异常1上启用中断,则可以在崩溃发生时导航到“调用堆栈”窗口。假设您的代码是本机代码,您将需要代码的 PDB 文件(.pdb,程序数据库文件)和第 3 方库,以便在调用堆栈上查看函数名称。
您还可以使用Process Explorer获取任何正在运行的进程的调用堆栈,但您仍然需要 PDB 文件才能查看符号。
- 对于本机异常,请参阅 Debug -> Exceptions...,并检查“C++ Exceptions”和“Win32 Exceptions”。
于 2010-08-22T02:35:06.540 回答