是否有我可以在方法中指定的屬性,以便在調試時調試器知道要在方法內部步進?我重寫一個Databind()方法,並且當前調試器會自動執行。C#調試屬性
C#調試屬性
回答
只需在您希望調試的方法內部放置一個斷點。
如果在調試時沒有命中斷點,那就意味着該方法沒有被調用 - 你確定你已經覆蓋它正確嗎?
如果方法或類已附加DebuggerStepThrough,你確定會中斷嗎? – 2011-03-11 21:19:08
@Rune FS - 當然,如果方法本身如此裝飾,斷點將不會被擊中。然而,從閱讀這個問題看,情況不太可能。如果OP已經重寫了方法並用'DebuggerStepThrough'對其進行了修飾,那麼他將回答他自己的問題。至於它被定義在被覆蓋的方法上 - 「DebuggerStepThrough」屬性在其AttributeUsage中設置了「Inherited = false」,所以這也可以被排除。 – Oded 2011-03-11 21:32:03
同意但仍然留下類的用法。 (但我同意你的看法,情況不太可能) – 2011-03-11 21:34:57
你使用什麼版本的VS?在工具|選項「調試節點:啓用只是我的代碼(僅管理)」下 - 清除,「啓用.NET框架源代碼步進」 - 設置可能有幫助。
您的覆蓋是否設置了斷點?
我同意Oded的回答,但另一種選擇是使用Debugger.Break()。如果連接了調試器,這將導致您的代碼每次遇到該行代碼時都會中斷。
感謝您的答案,沒有人提出我在找什麼。我知道我以前看過這個,所以我只是做了一些更多的搜索,然後再次找到它。 System.Diagnostics中有幾個調試屬性,我正在尋找的屬性是DebuggerStepThrough()和DebuggerHidden()。
// Force the debugger to step through this code
[DebuggerStepThrough()]
public double GrandTotal
{
get
{
return (this.Subtotal + this.Tax + this.Shipping);
}
}
而且......
// Force the debugger to skip step through
[DebuggerHidden()]
public double GrandTotal
{
get
{
return (this.Subtotal + this.Tax + this.Shipping);
}
}
編輯:俄德你上發佈有關此之上的評論,這其實就是我一直在尋找:)我會選擇這個作爲一個答案,但你沒有不要把它作爲答案嗎?
- 1. 的C懶Initializtion#屬性調試
- 2. 調試自動屬性
- 3. DOM屬性更改調試
- 4. XCode中的調試屬性
- 5. 調試和屬性加載
- 6. C#P /調用屬性
- 7. C#調試屬性名稱顯示爲框
- 8. C# - 在調試模式下跳過某個方法的屬性
- 9. Visual Studio解決方案屬性:調試| Mixed Platforms.ActiveCfg =調試| .NET
- 10. Visual Studio中,配置屬性 - >調試
- 11. web.config中的批量調試屬性
- 12. 如何調試emberjs計算屬性
- 13. C#屬性與嘗試包圍 - 抓
- 14. C#屬性的屬性
- 15. C#類屬性getter調用自動
- 16. 調用Objective-C中的屬性
- 17. 調用屬性
- 18. Objective-C方法調試性能
- 19. C#屬性的強制性屬性
- 20. 使用屬性反射測試屬性
- 21. XmlRoot屬性c#
- 22. Objective-C屬性
- 23. C#空屬性
- 24. C#Stream.ReadTimeout屬性
- 25. C#屬性表
- 26. C#屬性
- 27. XML屬性c#
- 28. C#/ ConstructorParameter屬性
- 29. C++/CLI屬性
- 30. 從e.PropertyName屬性調用屬性方法
我還沒有嘗試過,但你有沒有嘗試過DebuggableAttribute? http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggableattribute.aspx – 2011-03-11 20:40:58
該類是否使用[DebuggerStepThrough]屬性構建? – 48klocs 2011-03-11 21:07:22