記一次錯誤除錯,Cstring 變數自動析構時崩潰

2021-09-02 20:23:58 字數 548 閱讀 3343

專案實施時幫忙修改公司mfc老程式檢索檔案,測試同事表示測試個別檔案時程式崩潰,但是在vs中跑時正常。

在無法復現的情況下, 先嘗試彈窗定位,所有彈窗結束後程式才崩潰,定位失敗。想到vs有類似gdb的attach 功能,最後定位到cstring析構時位址析構無效,而查詢檔案中只有乙個cstring 變數ss。

// 票頭,簡單注,複雜注記錄總數

int nheadcount;

int nbody1count;

int nbody2count;

//int ndebug[30];

int ndebug[40];

cstring ss;

但是執行過程中,ss並未使用,也是單執行緒中使用,排除其他執行緒操作,故最有可能是ndebug 越界操作了。於是乙個個查詢ndebug的使用。

用的地方真不少,也確實有越界訪問。修改擴大ndebug大小,問題解決!

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次nginx module 除錯

參考了 先進入nginx工作目錄 usr local nginx sbin 使用gdb q tui q選項是以安靜模式啟動,不顯示gdb版本等資訊。tui選項可以顯示 介面 然後在gdb中啟動nginx shell nginx 啟動之後,可以檢視當前nginx中的程序號 shell pidof ng...