2011-11-21 115 views
2
  1. 我有我的應用程序代碼在一個解決方案和Quartz.Net代碼在另一個。我的應用程序代碼連接到服務並註冊一個作業,但Quartz.NET解決方案中沒有中斷點,儘管Quartz.Net代碼的Visual Studio實例被附加到服務進程。 (出於興趣,在我的應用中註冊作業時,我可以進入Quartz.Net源代碼,它將源代碼加載到我的應用的Visual Studio實例中。)是否可以調試Quartz.NET Windows服務?

  2. 如果我將調試器附加到服務從包含我的應用程序代碼的Visual Studio實例進行處理,然後在我的自定義作業源代碼中創建一個斷點,說明符號尚未加載,因此不會中斷。包含自定義作業的dll不在模塊列表中。

任何想法?我之後正在調試服務啓動時加載的自定義作業。包含自定義作業的dll複製到Quartz.net bin目錄所在的文件夾中,並且肯定會加載OK,因爲作業實際上是運行的!

乾杯,伊恩。

回答

0

您是否還複製了自定義作業.pdb文件?

您也可以將構建目標更改爲Quartz.Net文件夾,無需保留複製文件。

+0

是的,我沒有複製自定義作業.pdb。 –

0

我做的方式是有一點的代碼,喜歡這份工作的開始:

if (System.Diagnostics.Debugger.IsAttached) 
     System.Diagnostics.Debugger.Break(); 

然後我打開Visual Studio和調試器附加到Quartz.Net服務。當作業開始時,它將進入調試器,然後我可以在其他地方添加斷點。