|
|
1
5
了解VS内存处理程序在处理内存时写入的不同幻数意味着什么。
0xCDCDCDCD已在堆中分配,但尚未初始化。通过malloc
|
|
|
2
2
我自己的几次,因为花了太多时间调试编译器或运行时环境可能会警告我的东西,如果我正确使用的话:
理想情况下,您应该在需要启动调试器之前尝试捕捉问题——与在调试器中跟踪并修复它相比,任何可以调整以创建编译错误的东西都更容易修复。 |
|
|
3
1
始终在您的手表窗口中显示“err,hr”。我将显示调用GetLastError得到的结果。当你遍历代码时,它会动态更新。 |
|
|
4
1
我的调试(PHP)主要包括对(密码,IP锁定)页面最后一行的添加:
如果问题不在那里,你可以“正确”调试,但十有八九它会从那里跳出来。 |
|
|
5
0
不确定这是否算作调试,但对于C和Objective-C代码,我发现 LLVM/Clang Static Analyzer 是无价的。甚至在你看到它们的影响之前,帮助发现错误、内存泄漏和逻辑错误。 |
|
|
6
0
在Visual C++调试器中,您经常发现自己处于内联单行函数中,无法进入并查看其本地函数。例如:
要显示i的值,您需要一个堆栈帧。但是调试器不会进入bar()并显示i的内容。 这里的诀窍是在调试器中启用内联汇编。这扩展了函数的处理器指令,现在这些指令不止一行。现在,您可以进入函数并查询变量。 也许还有另一种方法:) |
|
|
7
0
偶尔运行发布版本,而不是调试版本。有些bug只有在启用优化时才会发生。 |
|
|
8
-1
我对此没有参考,但我被告知0xABABABAB地址意味着“超出分配内存范围的内存”。希望它能有所帮助。 |