[問題] 用pause來debug

看板C_and_CPP (C/C++)作者 (阿包)時間12年前 (2013/07/29 01:10), 編輯推噓2(206)
留言8則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) visual studio 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我在程式中 a變數不能是負的 所以我設了一個if (a<0) system ("pause"); 但是暫停之後就看不到目前所有變數的數值 所以也不知道哪裡有問題 請問各位大大 這種情況都是怎麼除錯的呢? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.191.88 ※ 編輯: michael9801 來自: 140.116.191.88 (07/29 01:13)

07/29 01:37, , 1F
Debug 當然是用 debugger 啊, 不然咧...
07/29 01:37, 1F
但是可能這一行要執行到幾百次才會a<0 我之前是設中斷點 然後一直按F5慢慢看 想說有沒有方便一點的方法 ※ 編輯: michael9801 來自: 140.116.191.88 (07/29 01:50)

07/29 01:53, , 2F
conditional breakpoint
07/29 01:53, 2F

07/29 01:54, , 3F
先 br 再設 cond
07/29 01:54, 3F
可以了 感謝大大 ※ 編輯: michael9801 來自: 140.116.191.88 (07/29 02:01)

07/29 08:26, , 4F
我會寫 if (a < 0) { int __x = 10; }
07/29 08:26, 4F

07/29 08:27, , 5F
然後把斷點設在 __x = 10; 那行 XD
07/29 08:27, 5F

07/29 08:55, , 6F
if(a<0) DebugBreak();
07/29 08:55, 6F

07/29 12:25, , 7F
if (a < 0) { __asm { int 3 } }
07/29 12:25, 7F

07/29 12:37, , 8F
連 int 3 都出來了 XD
07/29 12:37, 8F
文章代碼(AID): #1HzL2QjS (C_and_CPP)
文章代碼(AID): #1HzL2QjS (C_and_CPP)