在使用VC++时,经常使用OutputDebugString往往Output窗口写一些调试信息,如果输出信息遵循某种格式,那么在Output窗口中点击相应输出文本就会跳到相应的代码行中。具体格式MSDN中有说,简单的说法,在输出文本的最前面是"文件名(行号):"的格式就可以了。一个例子,用在我的内存泄露检测代码中:
wsprintf(output_temp,"%s(%d):>>>>>>>>>>>>memleaks!size=%d ",
memory_allocated[i].file,
memory_allocated[i].line,
memory_allocated[i].size);
OutputDebugString(output_temp);
重点在于 %s(%d): 一定是在最前面,而且冒号是不能少的。当然提供的file和line必须是正确的,使用编译器提高的__FILE__和__LINE__就可以了。
本文介绍了一种在VC++中利用OutputDebugString进行调试的方法。通过特定格式的输出文本,可以在输出窗口点击直接跳转到代码行,提高了调试效率。文章还提供了一个内存泄漏检测代码示例。
1万+

被折叠的 条评论
为什么被折叠?



