【发布时间】:2016-09-26 20:14:28
【问题描述】:
Visual Studio 中有没有办法调试只有一行的函数?
类似:
int foo(int a) { return a + 1; }
似乎当VS进入函数时,没有任何数据被正确初始化,并且在检查变量'a'时,我得到了垃圾数据。一旦我进入下一行,数据通常会被初始化,但由于这是一个单行函数,它似乎永远不会这样做,这很烦人(因为我需要重新编译所有内容以检查 a 的值)。
【问题讨论】:
-
你能在函数调用之后设置断点而不是在它声明的地方吗?
-
我想这已经足够好了,虽然在某些情况下这可能还不够好,但我想这会很罕见,没关系。
-
单行函数...也可能是 3 行函数(取决于代码样式...我更喜欢后者)。但无论如何,源代码的编写方式没有任何区别......如果你没有它。你想调试什么?你有任何 .pdb 文件吗?此函数是否在您调用的 .dll 中定义?如果没有更多信息可用,恐怕您将不得不挖掘(编译器生成的)汇编代码。
-
使用 step into (F11) 通常对我有用,尽管我承认单行函数并不总是易于调试器处理。
标签: c++ visual-studio visual-studio-2015