vc6程式除錯中常見問題和除錯方法介紹(3)

2021-10-06 23:03:25 字數 745 閱讀 6721

本篇主要介紹了一些特殊錯誤的除錯

1、記憶體越界

先附上測試**:

#include

#include

using

namespace std;

intsum

(int nto,

int nfrom=1)

void

main()

上述**主要時出現了記憶體越界的錯誤,我們定義了10個元素的陣列,但是賦值卻給了1000個,此時編譯是可以通過的,如果我們在i=sum(10)處設定乙個斷點,進行f5除錯:

彈出上述對話方塊(無法處理異常),無法繼續進行除錯,我們點確定,黃色游標停在**,就是**出現了錯誤,尋找發現是記憶體越界了,修改**後,這時不要應用更新**,這樣會很危險,而是直接退出除錯,重新編譯

2、記憶體洩漏

申請動態記憶體,沒有釋放,程式陷入死迴圈,不斷占用空間

比如 int *p=new int *[10]; 沒有 delete [ ]p; 當是乙個死迴圈時,會發生記憶體洩露,我們f5除錯時,view–output,會發現出現:detected memory leaks ,這就是提示記憶體洩漏,我們雙擊緊跟的語句,就會定位到相應位置,修改後此錯誤消失。

VC6遠端除錯

vc開發環境之所以提供遠端除錯的能力,是因為有些情況下單機除錯會讓你崩潰掉。比如,除錯gui程式的wm paint訊息,因為要單步除錯,所以 偵錯程式會對介面的重繪產生 heisenberg不確定性原理 當然還有些別的情況也適用,比如程式在測試環境執行的好好的,但是在客戶那行為總 是異常,這時候如果...

晶元DDR除錯常見問題

1 ddrphy zq calib 校準異常,rx calib校準不通過。解決方法 檢查pcb設計,糾正zq電阻實際連線與ip手冊要求不一致問題。2 ddr 基本寫讀測試512mb以上資料量時會出現錯誤,且出錯的位址空間隨機。解決方法 檢查pcb板設計,發現多個負載掛在乙個電源上導致ddr供電不足,...

ssh登入的除錯方法和常見問題

ssh登入伺服器是程式猿日常生活必不可少的一部分,也時不時的會遇到自己配置ssh登入的問題,拿日常使用的git來講,不管使用github也好,還是自己搭建的gitlab等等,如果不能很好的理解ssh的原理,極容易遇到各種問題。這篇文章就嘗試向大家簡單講解下ssh的原理 除錯方式和常見問題。這裡要講的...