2011-11-21 134 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服务。当作业开始时,它将进入调试器,然后我可以在其他地方添加断点。