0
我真的很喜歡gdb如何允許我使用command
命令爲斷點編寫例程。很多時候,我添加打印語句只是打印一條消息,我喜歡所有這些工作而不修改源文件。在Visual Studio中打印調試器消息而不修改代碼
我不得不使用Visual Studio,我發現插入調試打印語句的方式是使用OutputDebugString
。但是,我不喜歡我需要修改我的源代碼才能進行調試。有沒有像在gdb中一樣在VS中打印調試消息的方法,即不需要修改源代碼。
此外,VC編譯器如何處理OutputDebugString
調用?它是否真的在程序的程序集中編譯該行?如果我所做的唯一更改是添加對OutputDebugString
的調用,是否需要編譯我的代碼?
您總是可以使用宏來調試構建,如'#ifdef _DEBUG OutputDebugString()#endif',這樣當您在發佈模式下編譯時,這些函數都不會實際編譯,並且會被排除在程序之外。是的,該函數生成彙編(生成的機器)代碼。最後一個問題,我不完全明白,我認爲你需要編譯你的代碼,如果你做任何更改... –
@ViniyoShouta謝謝你,這回答了一切。 –
@ViniyoShouta這難道不合理嗎?我想知道爲什麼MS這樣做,gdb的方式看起來好多了。 –