Home Contact Sitemap

Team Programming Dragon.編程龍

Programming Art、C++、Python、Django、LinuxDev、HCI、Graphics、Web2.0。讓我們成為編程界的朝田龍太郎吧。

Beauty is Our Business

A Birthday Salute to Computer Scientist Edsger W. Dijkstra.

Conditional Break in GDB

在 gdb 之中,要作 conditional break,首先,我們可能會先查一下現在有哪幾個 breakpoint 在作用中:

$ info br

假設我們要設的是第二個 break point,在某變數 x 大於 3 時停下,就這樣下指令:

$ cond 2 x > 3

如果要改設別的 condition,可以這樣下取消

$ cond 2

或者直接改設別的條件也可以

$ cond 2 y == 77

附帶一提,continue (cont) 也滿好用的。在 for-loop 之中常常會想要一次跳個 100, 1000 個 iteration 之類的。那可以這樣下:

cont 1000

下次再按 enter 會重複上一個指令,於是就會以 1000 個 iteration 為單位作 break。

我很久沒用 VC,不過可以想見這在 VC 之中應該是選單拉來拉去才能完成。gdb 的學習曲線較陡一些,但上手之後會不少人都會喜歡上這簡潔明快的節奏感。其實 gvim 啦、gcc 等等也是如此,算是 opensource 工具很常見的一個共通點。

Tags: ,

. 30 Nov 08 | C++, Linux | Comments (0)