現在都用vs2008了,vc6的速度還是很懷念,來個小結吧。
斷點相關快捷鍵:
1.f9在當前游標所在的行下斷點,如果當前行已經有斷點,則取消斷點.
f5除錯狀態執行程式,程式執行到有斷點的地方會停下來.
f10單步執行程式.
ctrl+f10執行到游標所在行.
f11和f10的區別是,如果當前執行語句是函式呼叫,則會進入函式裡面.
shift+f11跳出當前所在函式.
特別說明:
a.有的地方不能下斷點.比如空行,基本型別定義語句(不初始化),等等非執行語句.比如
int i; // 此行不能下斷點
b.不是所有斷點都會(斷).比如下斷點的語句在程式裡面沒有被執行.
c.此外,alt+f9還可以下條件斷點,不過這個不常用,有興趣的可以自己研究:)
2.如何除錯release版的程式?
有些程式在debug下執行的很好,但在release下卻總是失敗,預設情況下release是不能除錯的. 怎麼解決呢?
其實"debug"和"release"都只是乙個代號而已,各自對應一組不同的編譯選項.
在release的預設設定下,alt+f7 ,調出工程設定對話方塊,切換到link選項卡,勾選"generate debug info",然後再切換到c/c++選項 卡,在"optimizations"裡面選"disable(debug)",在下面的"debug info"裡面選"program database for edit and continue".然 後點ok儲存設定,重新編譯程式,下斷點即可.
3.上面兩點已經能應付很多種情況了,但是有時候即使在debug下也不能下斷點,我以前也曾經遇到過這種問題,乙個調了4層的dll,就是不能下斷點.其實還除了上面的方法,還有一種最底層的實現技術:使用彙編.
細心的人可能會發現,有時候在除錯狀態下當程式出現異常的時候,游標會指向彙編**,而這個**就是int 3,這其實是乙個中斷.
在你的**的任意地方加上
__asm;
用debug編譯,然後直接執行程式.當程式執行到上述**的時候,就會出現乙個框,告訴你說一大堆資訊,說程式錯了,下面有"除錯"、"終止"、"忽略",不用理,點除錯就可以進入跟 蹤了。這種方法我還沒有失 手過:)
VC 6 0遠端除錯
先明確下概念,遠端除錯嘛,自然是兩個機器之間除錯。程式執行在目標機器上,偵錯程式執行在本機。當然,目標機器上還是要有少許輔助程式才能跟本機的偵錯程式connect上,以便通訊。一般來說,只需要copy四個檔案到目標機器上就行了 msvcmon.exe dm.dll tln0t.dll和msdis11...
VC 6 0遠端除錯
vc開發環境之所以提供遠端除錯的能力,是因為有些情況下單機除錯會讓你崩潰掉。比如,除錯gui程式的wm paint訊息,因為要單步除錯,所以偵錯程式會對介面的重繪產生 heisenberg不確定性原理 當然還有些別的情況也適用,比如程式在測試環境執行的好好的,但是在客戶那行為總是異常,這時候如果可以...
VC6 0除錯技巧
一 基本的除錯設定 1 ctrl f10 執行到當前游標處2l 開啟project settings對話方塊 可以通過快捷鍵alt f7開啟,也可以通過ide選單project settings開啟 l選擇c c 頁,category中選擇general 則出現乙個debug info下拉列表框,可...