vc6 0 除錯小結

2021-06-05 10:10:37 字數 1106 閱讀 9696

現在都用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下拉列表框,可...