在使用VC++時,經常使用OutputDebugString往往Output窗口寫一些調試信息,如果輸出信息遵循某種格式,那么在Output窗口中點擊相應輸出文本就會跳到相應的代碼行中。具體格式MSDN中有說,簡單的說法,在輸出文本的最前面是"文件名(行號):"的格式就可以了。一個例子,用在我的內存泄露檢測代碼中:
wsprintf(output_temp,"%s(%d): >>>>>>>>>>>>mem leaks! size=%d",
memory_allocated[i].file,
memory_allocated[i].line,
memory_allocated[i].size);
OutputDebugString(output_temp);
重點在於 %s(%d): 一定是在最前面,而且冒號是不能少的。當然提供的file和line必須是正確的,使用編譯器提高的__FILE__和__LINE__就可以了。
