簡體   English   中英

當 Visual Studio 調試器評估值時,我可以讓我的 C# 代碼在斷點處停止嗎?

[英]Can I make my C# code stop at breakpoint when Visual Studio debugger is evaluating the value?

我不知道如何捕捉 Visual Studio 調試器在 C# 代碼中評估我的屬性值的時刻。 斷點僅在我的代碼訪問該屬性時才有效,而不是 Visual Studio 調試器(當監視此屬性時)。

我的問題是:當 Visual Studio 調試器在 Watch window 中顯示此屬性的值時(並且不知何故為此執行此吸氣劑)?

我需要這個來解決我的問題(但問題不是我的問題,它只是提供一些背景,為什么我需要我要求的功能):出於某種原因,調試器以某種方式讀取我的 object 的某些屬性使得不需要的副作用(導致另一個屬性發生變化)。 當我在代碼中做同樣的事情(讀取對象的屬性)時,不會發生這樣的事情。 為了找到導致這種效果的屬性(因為我有很多屬性),我希望在調試器評估表達式時觸發斷點,從而導致我的代碼與這些斷點一起執行。

我在 Visual Studio 中找不到啟用此功能的任何功能。 我錯過了什么嗎? 或者,也許,它是后來添加的? 我現在在 Visual Studio 2008 上。

編輯:我投了反對票,所以我需要再次澄清。 我不是在尋求幫助來查找我的代碼中的問題(這就是為什么這里沒有代碼)。 我要求一個非常具體的事情。 由於在調試器中評估某些表達式而發生執行時,我可以讓 Visual Studio 在斷點處停止嗎? 只是。

public int MyProp1
{
    get
    {
      DoSomething1(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value1;
    }
}
...
public int MyProp99
{
    get
    {
      DoSomething99(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value99;
    }
}

我不知道如何捕捉 Visual Studio 調試器在 C# 代碼中評估我的屬性值的時刻。 斷點僅在我的代碼訪問該屬性時有效,而不是 Visual Studio 調試器(當該屬性被觀察時)。

我的問題是:當 Visual Studio 調試器在監視窗口中顯示此屬性的值時(以及以某種方式),Visual Studio 是否具有更改斷點行為的設置或功能,以便它們被命中(如果此類斷點位於屬性的 getter 中)為此執行這個吸氣劑)?

我需要這個來解決我的問題(但問題不是我的問題,它只是提供一些背景,為什么我需要我要求的功能):出於某種原因,調試器以某種方式讀取我的對象的某些屬性使不需要的副作用(導致另一個屬性發生變化)。 當我在代碼中做同樣的事情(讀取對象的屬性)時,不會發生這樣的事情。 為了找到導致這種效果的屬性(因為我有很多屬性),我希望在調試器評估表達式時使斷點被擊中,導致我的帶有這些斷點的代碼被執行。

我在 Visual Studio 中找不到任何啟用此功能的功能。 我錯過了什么嗎? 或者,也許是后來添加的? 我現在在 Visual Studio 2008 上。

編輯:我得到了反對票,所以我需要再次澄清。 我不是在尋求幫助以在我的代碼中找到問題(這就是為什么這里沒有代碼)。 我要求的是一件非常具體的事情。 由於在調試器中評估某些表達式而發生執行時,我可以讓 Visual Studio 在斷點處停止嗎? 只是。

public int MyProp1
{
    get
    {
      DoSomething1(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value1;
    }
}
...
public int MyProp99
{
    get
    {
      DoSomething99(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value99;
    }
}

我不知道如何捕捉 Visual Studio 調試器在 C# 代碼中評估我的屬性值的時刻。 斷點僅在我的代碼訪問該屬性時有效,而不是 Visual Studio 調試器(當該屬性被觀察時)。

我的問題是:當 Visual Studio 調試器在監視窗口中顯示此屬性的值時(以及以某種方式),Visual Studio 是否具有更改斷點行為的設置或功能,以便它們被命中(如果此類斷點位於屬性的 getter 中)為此執行這個吸氣劑)?

我需要這個來解決我的問題(但問題不是我的問題,它只是提供一些背景,為什么我需要我要求的功能):出於某種原因,調試器以某種方式讀取我的對象的某些屬性使不需要的副作用(導致另一個屬性發生變化)。 當我在代碼中做同樣的事情(讀取對象的屬性)時,不會發生這樣的事情。 為了找到導致這種效果的屬性(因為我有很多屬性),我希望在調試器評估表達式時使斷點被擊中,導致我的帶有這些斷點的代碼被執行。

我在 Visual Studio 中找不到任何啟用此功能的功能。 我錯過了什么嗎? 或者,也許是后來添加的? 我現在在 Visual Studio 2008 上。

編輯:我得到了反對票,所以我需要再次澄清。 我不是在尋求幫助以在我的代碼中找到問題(這就是為什么這里沒有代碼)。 我要求的是一件非常具體的事情。 由於在調試器中評估某些表達式而發生執行時,我可以讓 Visual Studio 在斷點處停止嗎? 只是。

public int MyProp1
{
    get
    {
      DoSomething1(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value1;
    }
}
...
public int MyProp99
{
    get
    {
      DoSomething99(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value99;
    }
}

我不知道如何捕捉 Visual Studio 調試器在 C# 代碼中評估我的屬性值的時刻。 斷點僅在我的代碼訪問該屬性時有效,而不是 Visual Studio 調試器(當該屬性被觀察時)。

我的問題是:當 Visual Studio 調試器在監視窗口中顯示此屬性的值時(以及以某種方式),Visual Studio 是否具有更改斷點行為的設置或功能,以便它們被命中(如果此類斷點位於屬性的 getter 中)為此執行這個吸氣劑)?

我需要這個來解決我的問題(但問題不是我的問題,它只是提供一些背景,為什么我需要我要求的功能):出於某種原因,調試器以某種方式讀取我的對象的某些屬性使不需要的副作用(導致另一個屬性發生變化)。 當我在代碼中做同樣的事情(讀取對象的屬性)時,不會發生這樣的事情。 為了找到導致這種效果的屬性(因為我有很多屬性),我希望在調試器評估表達式時使斷點被擊中,導致我的帶有這些斷點的代碼被執行。

我在 Visual Studio 中找不到任何啟用此功能的功能。 我錯過了什么嗎? 或者,也許是后來添加的? 我現在在 Visual Studio 2008 上。

編輯:我得到了反對票,所以我需要再次澄清。 我不是在尋求幫助以在我的代碼中找到問題(這就是為什么這里沒有代碼)。 我要求的是一件非常具體的事情。 由於在調試器中評估某些表達式而發生執行時,我可以讓 Visual Studio 在斷點處停止嗎? 只是。

public int MyProp1
{
    get
    {
      DoSomething1(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value1;
    }
}
...
public int MyProp99
{
    get
    {
      DoSomething99(); // I want VS debugger stop here on evaluating expression in Watch window
      return _value99;
    }
}

右鍵單擊您的斷點,例如在 for 循環中,然后單擊Condoitions ,然后鍵入您的條件,例如i>5i==5然后單擊關閉按鈕。 在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM