当前位置:  开发笔记 > 编程语言 > 正文

你最好的调试提示是什么?

如何解决《你最好的调试提示是什么?》经验,为你挑选了1个好方法。

对于您喜欢的语言有哪些专家调试提示,您认为每个人都应该使用?

作为一个例子,我将提供我的C++调试提示,它们之间的帮助我摆脱了我遇到的大多数错误,这种常常难以调试的语言.

C++

将编译器的警告级别提高到最大值,然后停止那些发生很多的警告,并且你已经决定不关心(对我来说它是未使用的参数).在警告级别非常高之前,g ++不会警告函数中缺少返回语句(我经常发现的问题).

学习如何打开编译器的调试标准库,并使用它!(-D_GLIBCXX_DEBUG for g ++).这会发现许多错误,还有助于准确显示错误发生的位置.

始终,始终,始终通过一个非常好的内存检查器(如valgrind)运行代码,并修复它产生的所有问题.

Magnus Westi.. 5

了解VS内存处理程序在处理内存时写入的不同幻数是什么意思.

0xCDCDCDCD在堆中分配,但未初始化.通过malloc
0xCCCCCCCC在堆栈上分配,但未初始化.
0xDDDDDDDD释放堆内存.通过自由
0xFDFDFDFD"NoMansLand"围栏自动放置在堆内存的边界.永远不应该被覆盖.如果你覆盖了一个,你可能会走出数组的末尾.
0xFEEEFEEE HeapFree删除的内存
0xBAADF00D在堆中分配,但未初始化.通过HeapAlloc
0xABABABAB不知道.如果有人知道这意味着什么,请添加.



1> Magnus Westi..:

了解VS内存处理程序在处理内存时写入的不同幻数是什么意思.

0xCDCDCDCD在堆中分配,但未初始化.通过malloc
0xCCCCCCCC在堆栈上分配,但未初始化.
0xDDDDDDDD释放堆内存.通过自由
0xFDFDFDFD"NoMansLand"围栏自动放置在堆内存的边界.永远不应该被覆盖.如果你覆盖了一个,你可能会走出数组的末尾.
0xFEEEFEEE HeapFree删除的内存
0xBAADF00D在堆中分配,但未初始化.通过HeapAlloc
0xABABABAB不知道.如果有人知道这意味着什么,请添加.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有