从 Task Scheduler 调试 Windows 控制台应用程序
Debugging a Windows Console Application from Task Scheduler
我在发帖之前也检查了之前关于 Stack Overflow 的问题。
这是我的问题:
我在 Visual Studio 2017 年创建了一个 Windows 控制台应用程序。该应用程序应该从表中获取一些数据并定期发送电子邮件。最初,我创建了一个 Windows 服务,它工作正常,但后来我决定从任务计划程序执行它,因为更改计划很容易。
主要代码如下:
public static void Main(string[] args)
{
RetrieveData();
}
stativ void RetrieveData()
{
// Fetch data and send mails
}
有两个问题:
(1) 我无法将其附加到进程。首先,问题是当我在调试模式下启动它时,应用程序在尝试附加到进程时一进入 Main 就会退出。
(2) 当我单击 "Attach to Process" 时,.exe 名称未出现在进程名称下。
从任务计划程序执行时如何调试此应用程序?当任务计划程序触发此作业时,它甚至没有执行。
尝试使用Debugger.Launch()
.
将此行放在 main
中的第一行,在该项目中保持 Visual Studio 打开,编译您的项目,安排一个任务到 运行 您新编译的可执行文件,然后等待你的程序会要求你打开Visual Studio进行调试。
我在发帖之前也检查了之前关于 Stack Overflow 的问题。
这是我的问题:
我在 Visual Studio 2017 年创建了一个 Windows 控制台应用程序。该应用程序应该从表中获取一些数据并定期发送电子邮件。最初,我创建了一个 Windows 服务,它工作正常,但后来我决定从任务计划程序执行它,因为更改计划很容易。
主要代码如下:
public static void Main(string[] args)
{
RetrieveData();
}
stativ void RetrieveData()
{
// Fetch data and send mails
}
有两个问题:
(1) 我无法将其附加到进程。首先,问题是当我在调试模式下启动它时,应用程序在尝试附加到进程时一进入 Main 就会退出。
(2) 当我单击 "Attach to Process" 时,.exe 名称未出现在进程名称下。
从任务计划程序执行时如何调试此应用程序?当任务计划程序触发此作业时,它甚至没有执行。
尝试使用Debugger.Launch()
.
将此行放在 main
中的第一行,在该项目中保持 Visual Studio 打开,编译您的项目,安排一个任务到 运行 您新编译的可执行文件,然后等待你的程序会要求你打开Visual Studio进行调试。