gpt4 book ai didi

c# - Debug.WriteLine() 未命中

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:59 24 4
gpt4 key购买 nike

我正在使用以下代码调试 Windows 服务(通过在 Visual Studio 2010 中按 F5):

Program.cs 文件中:

static void Main() {

if (!Environment.UserInteractive) {
// We are not in debug mode, startup as service

ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyServer() };
ServiceBase.Run(ServicesToRun);
}
else {
// We are in debug mode, startup as application

MyServer service = new MyServer();
service.StartService();
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
}

MyServer.cs 文件中:

public void StartService() {
this.OnStart(new string[0]);
}

过去,我在所有服务代码中使用 Debug.WriteLine("xxx") 行没有任何问题,但现在我注意到所有 Debug.WriteLine() 不再调用行。

当我使用 Step Into (F11) 进行调试时,我清楚地看到调试器跳过了这些行 - (因此,输出窗口上没有输出文本),而服务在“ Debug模式”下正确启动。

我不明白为什么 Debug 代码不会被调用。有什么建议吗?

我在 Debug模式下构建我的解决方案(Define DEBUG constant 被选中),但我注意到 #if DEBUG ... #endif 包围的代码不是叫。这很奇怪...

最佳答案

似乎缺少调试符号。

  1. 清理您的解决方案,重新启动 Visual Studio,重建解决方案。
  2. 确保配置管理器处于 Debug模式。
  3. checkin “工具”>“选项”>“调试”并取消选中“仅启用我的代码”

发生在我身上,这似乎有帮助。

关于c# - Debug.WriteLine() 未命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com