如果我在方法上设置断点,当在Visual Studio 2008中命中断点时,如何查看调用该方法的内容?
答案 0 :(得分:37)
检查“调用堆栈”窗口(调试,Windows,调用堆栈)。双击每个条目将转到调用语句。您也可以右键单击它以启用/禁用显示外部代码项和来自其他线程的调用。
答案 1 :(得分:4)
如果在用户设置的断点中看不到调用堆栈中的任何内容,则通常意味着它是从本机代码调用的。
另一种无法获得堆栈的情况:您点击Debug> Break All并且主线程处于等待/休眠状态,调试器可能在构建调用堆栈时遇到问题。我相信调试器使用主线程进行隐式函数评估。
尝试附加(或启动)混合模式(本机和托管)代码调试器,看看是否将其拉直。
答案 2 :(得分:3)
当点击断点时,您可以查看整个调用堆栈。您可以通过调试菜单 - > Windows->调用堆栈来启动该窗口。
您也可以通过快捷键Alt + Ctrl + C
启动它编辑: 您也可以右键单击一个函数名称,然后查看“Callers Graph”,它将显示您方法的所有调用者。或者,您可以使用呼叫浏览器(通过转到视图 - >其他窗口 - >呼叫浏览器)并搜索您的方法名称。
答案 3 :(得分:1)
如果在“调用堆栈”窗口中看不到任何内容,那么肯定有问题。我会建议着名的R动作序列:
答案 4 :(得分:1)
如果断点位于事件引发的函数中,则可能没有直接调用堆栈返回给调用者,并且需要启用查看所有代码,而不仅仅是“只是我的代码”。 / p>
答案 5 :(得分:0)
对于Visual Studio 2019,打开查看菜单并选择呼叫层次结构, 或只需按 CTRL + ALT + K