调试
文章平均质量分 61
yiranshixin
这个作者很懒,什么都没留下…
展开
-
《windows 程序调试》读书笔记之跟踪篇
--------------------+++++------------------------- @note:跟踪语句 windows:void OutputDebugString(LPCTSTR traceText); #ifdef _DEBUG #define OutputTraceString(text) OutputDebugString(text) #esle #defi原创 2014-08-10 13:40:42 · 561 阅读 · 0 评论 -
《windows 程序调试》读书笔记之编译器篇
--------------------+++++------------------------- @note: 使用/W4警告级别 使用_CtrSetReportMode和_CrtReportFile warning:/W4 C4100;参数param没有被引用的 C4127;条件表达式是常量 C4189;局部变量var被初始化,但未被引用 C4245;从type1到type2原创 2014-08-10 13:43:30 · 497 阅读 · 0 评论 -
《windows 程序调试》读书笔记之断言篇
--------------------+++++------------------------- #include void assert(int expression)//显示失效断言 @note: asci c,在断言失效的文件路径太长时,会截断文件名,只能用在_DEBUG环境中 --------------------+++++-------------------------原创 2014-08-10 13:34:47 · 395 阅读 · 0 评论 -
msdn关于内存泄漏检测
检测内存泄漏的主要工具是调试器和 C 运行时库 (CRT) 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: #define _CRTDBG_MAP_ALLOC #include #include 注意 #include 语句必须采用上文所示顺序。如果更改了顺序,所使用的函数可能无法正确转载 2014-08-13 22:13:20 · 414 阅读 · 0 评论 -
msdn之断言篇
CRTDBG.H 头文件为断言检查定义 _ASSERT 宏和 _ASSERTE 宏。 宏 结果 _ASSERT 如果指定的表达式计算为 FALSE,则为 _ASSERT 的文件名和行号。 _ASSERTE 与 _ASSERT 相同,并加上所断言的表达式的字符串表示形式。转载 2014-08-13 23:23:24 · 466 阅读 · 0 评论 -
msdn之断点API
可以在代码中的任意点调用 DebugBreak Win32 函数或 __debugbreak。DebugBreak 和 __debugbreak 与在该位置设置一个断点具有相同的效果。 因为 DebugBreak 是系统函数调用,所以必须安装系统调试符号以确保中断后显示正确的调用堆栈信息。否则,调试器可能在显示一帧调用堆栈信息后就停止显示。如果使用 __debugbreak,则不需要符号。转载 2014-08-13 22:28:10 · 343 阅读 · 0 评论 -
msdn之调试杂项
问题描述 给我的某个函数传递的是错误的参数值。很多地方都在调用该函数。如何查明是谁在传递错误值? 解决方案 解决此问题 在函数的开始处设置一个位置断点。 右击该断点并选择“条件”。 在“断点条件”对话框中,单击“条件”复选框。有关更多信息,请参见如何:指定断点条件。 在文本框中输入一个表达式(例如 Var==3),此处转载 2014-08-14 00:08:29 · 581 阅读 · 0 评论 -
msdn之CRT调试
如果要调试使用 C 运行时库的程序,这些调试技术可能会有用。 本节内容 CRT 调试库使用 描述由 C 运行时库提供的调试支持并提供有关访问这些工具的说明。 用于报告的宏 提供有关 _RPTn 和 _RPTFn 宏(在 CRTDBG.H 中定义)的信息,它们取代了用于调试的 printf 语句。 堆分配函数的“Debug”版本 讨论堆分配函数的特殊“Deb转载 2014-08-13 23:33:58 · 967 阅读 · 0 评论 -
msdn之dll调试
当调试 DLL 时,可以从以下开始调试: 用于创建调用 DLL 的可执行文件的项目。 - 或 - 用于创建 DLL 本身的项目。 如果有用于创建可执行文件的项目,则从该项目开始调试。然后可以打开 DLL 的源文件,并在该文件中设置断点,即使它不是用于创建可执行文件的项目的一部分。有关更多信息,请参见断点。 如果从创建 DLL 的项目开始调试,则转载 2014-08-13 23:53:25 · 503 阅读 · 0 评论