【发布时间】:2020-11-03 16:48:32
【问题描述】:
我正在尝试使用 WinDbg 调试一个不能正常工作的可执行文件(没有收到分段错误,它只是没有做他应该做的)。我想看到一个调用堆栈,其中包含在运行可执行文件时调用的所有函数。这在 WinDbg 或任何其他调试器中是否可行?
【问题讨论】:
-
什么是所有被调用的函数?
-
程序经过的所有功能
-
您可以查看
wt以开始跟踪您的呼叫。请注意,只有在可以解析符号时才能获得函数名称,否则只会获得地址。您可以查看tc转储特定数量的呼叫。这不是一个完全无用的练习。我以前用过trace a parameter passed to msg.exe -
在返回地址上设置断点,使用wt或者watch and trace可以给你一个非常详细的调用流程总结
-
即使 RbMm 最终可能是正确的,我想每个开发人员都有一段时间想要这样做 - 我认为这是合法的。正如 Lieven 所说,使用
wt。但是 - 也许帮自己一个忙,先用一个简单的应用程序,比如 calc.exe 试试。如果您从初始断点开始执行此操作,您会注意到启动需要大约 20 分钟,而不是毫秒