2

(注意,這個問題已被標記回答Debugging Sharepoint timer jobs但我仍然有問題)Debugger.Launch(),Trace.Assert(失敗)無法正常工作

我無法調試我的SharePoint計時器工作。通常我可以通過設置其中一個做到這一點:

  • Debugger.Launch()
  • Trace.Assert(false)

但沒有顯示一個對話框。我有一個log4net OutputDebugStringAppender,這樣我可以使用DebugView來監視輸出,並且我可以看到DEBUG ASSERTION FAILED正在寫入調試日誌。我嘗試刪除appender,以防它可能弄亂某些東西,但沒有運氣。

(重建,重新啓動,重置IIS,服務復位,PDB文件彙編完成)

那麼,爲什麼不顯示一個對話框?我真的可以用一些幫助來調試這個計時器的工作,並會非常感謝任何想法。

回答

1

您很可能是以調試模式而不是發佈模式運行您的應用程序。在調試模式下,您已經連接了調試器,因此不會啓動。

你可以找到,如果調試器是通過此連接與否:

System.Diagnostics.Debugger.IsAttached 

因此,嘗試這樣的:

if(!System.Diagnostics.Debugger.IsAttached) 
{ 
    System.Diagnostics.Debugger.Launch(); 
} 
Trace.Assert(false)//Trace is not bound to Debug or Release mode so will always run