1

有沒有辦法在Visual C++ 2008 Express上調試代碼,比如我可以看到某個值的變量,並且當它假設這個值時,會中斷?Visual C++ 2008 Express上的條件調試

例如,我想打破x變成5。在gdb中,我會設置一個斷點,然後條件x == 5。如何在Visual C++ 2008 Express上執行此操作(如果可能)?

回答

3

儘管在快遞版本中缺少支持它,但還有其他解決方法。

我在類似問題的答案中找到了這個答案。

#if DEBUG 
if(node.Name == "Book") 
    System.Diagnostics.Debugger.Break(); 
#endif 

的例子表明,如果名稱屬性相匹配「尚書」,斷點發生。

這裏是原題:

How Do I: Create a Breakpoint Using Conditions? [C# Express]

+1

多可怕的解決方法。但很好的答案,謝謝,但是,好吧,我沒有得到適當的工具,我會用我所擁有的。 – 2010-01-08 16:48:00

+0

再次思考,這並不是那麼糟糕,我可以找到使用這種方法的惡意方式=) – 2010-01-08 16:48:46

+0

是的,它有點懦弱,但是讀了原始答案,他確實提到它比非快速版本中的實際條件斷點花費更少的資源,真的很遺憾他們沒有包括它。 – 2010-01-08 16:54:27

2

在Express版本的Visual Studio中,這是不可能的。但它可能在完整版本中。

0

似乎有可能做到這一點,即使在快遞,至少在這裏,它的工作。這標誌着斷點後,我右鍵點擊它的標誌,並設置一個「條件」(它不能比這更容易)

!Setting a condition

然後,你可以寫一個計算爲true的表達式。剛剛向我展示過這一點的同事說,他們在比較字符串時遇到了一些問題,但對於使用整數進行簡單比較來說,它非常簡潔。

!Condition window

然而,在對方回答說,這是沒有這麼快,直接鍵入斷碼。

相關問題