任务调度程序控制台应用程序再次显示异常阻止程序的及时调试器 运行
Task scheduler console application shows just in time debugger on exception preventing program to run again
我有一个控制台应用程序,它每 5 分钟 运行 带有一个 Windows 服务器任务计划。如果程序在 5 分钟后仍然 运行ning,则程序不会再次 运行,因此一次只有一个实例。
但是,当发生异常时,及时调试器会出现并且不会消失,从而阻止应用程序再次 运行ning。
有什么办法可以避免这种情况吗?我希望 JIT 调试器不出现,这样应用程序就完成了,它会在下一次尝试时再次 运行。
一个问题是为什么程序以异常结束?如果不需要异常,将一些重定向到文件中不是更好吗?
我个人会在注册表中禁用 JIT 调试器。来自visual studio docs,当电脑没有安装VS时,大概就是这样。
从 Windows 注册表中禁用即时调试
即使您的计算机上不再安装 Visual Studio,实时调试仍可能启用。如果不再安装 Visual Studio,您可以通过编辑 Windows 注册表来禁用实时调试。
通过编辑注册表禁用即时调试:
从 Windows 开始菜单,运行 注册表编辑器 (regedit.exe)。
在注册表编辑器window中,找到并删除以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
如果您的计算机运行正在使用 64 位 操作系统,还删除以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
确保不要删除或更改任何其他注册表项。
我有一个控制台应用程序,它每 5 分钟 运行 带有一个 Windows 服务器任务计划。如果程序在 5 分钟后仍然 运行ning,则程序不会再次 运行,因此一次只有一个实例。
但是,当发生异常时,及时调试器会出现并且不会消失,从而阻止应用程序再次 运行ning。
有什么办法可以避免这种情况吗?我希望 JIT 调试器不出现,这样应用程序就完成了,它会在下一次尝试时再次 运行。
一个问题是为什么程序以异常结束?如果不需要异常,将一些重定向到文件中不是更好吗?
我个人会在注册表中禁用 JIT 调试器。来自visual studio docs,当电脑没有安装VS时,大概就是这样。
从 Windows 注册表中禁用即时调试
即使您的计算机上不再安装 Visual Studio,实时调试仍可能启用。如果不再安装 Visual Studio,您可以通过编辑 Windows 注册表来禁用实时调试。
通过编辑注册表禁用即时调试:
从 Windows 开始菜单,运行 注册表编辑器 (regedit.exe)。
在注册表编辑器window中,找到并删除以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
如果您的计算机运行正在使用 64 位 操作系统,还删除以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
确保不要删除或更改任何其他注册表项。