在 Windows 服务中运行 cdb 时无法下载 microsoft 符号

2023-11-27

我有一个.NET窗口服务那是在呼唤cdb.exe分析故障转储。我想从以下位置下载符号http://msdl.microsoft.com需要时自动使用参数:

-y srv*c:\symbols*http://msdl.microsoft.com/download/symbols

如果我将应用程序作为控制台应用程序运行,它会按预期工作,并下载每个转储所需的符号。

问题是当我将应用程序作为 Windows 服务启动时,符号不会下载,如果我打开 symnoisy,在 cdb 的输出日志中,每个符号都有一个条目,表示尚未在以下位置找到该符号http://msdl.microsoft.com

因此,我使用嗅探器对其进行了检查,有趣的是,当作为服务运行时,不会向微软符号服务器发出任何请求。

Googling一点点,我发现我不是唯一有这个问题的人,而且问题似乎在于当将应用程序作为 Windows 服务运行时,它使用 winHTTP 库来处理 http 请求,而不是 wininet,我认为这是问题的根源: http://support.microsoft.com/kb/238425

所以,我不知道为什么,cdb 无法使用 winHTTP 库连接到 ms 符号服务器,我需要一种方法来强制 cdb 默认使用 wininet。

有人知道解决此问题的方法吗?


完整答案在这里:https://web.archive.org/web/20150221111112/http://infopurge.tumblr.com/post/10438913681/how-does-cdb-access-the-microsoft-symbol-server

从命令提示符运行时,cdb 使用 WinINet 访问 Internet 资源。从 Windows 服务运行时,cdb 使用 WinHTTP 访问 Internet 资源。

对于 WinHTTP,您需要设置一些注册表设置以阻止尝试使用代理 (bogusproxy) 访问符号服务器。

您可以强制 cdb 从命令行使用 WinHttp,从而通过在加载 cdb 之前键入以下内容来模拟服务中发生的情况以进行测试。

SET DBGHELP_WINHTTP=AnythingOtherThanEmpty

要禁用 cdb 和 symsrv 的 WinHTTP 代理,您需要在注册表中设置以下项之一。

对于在 Windows 服务环境的 x32 位计算机上运行的 x32 版本的 cdb。 HKLM\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。

对于从命令提示符在 x32 位机器上运行的 x32 版本的 cdb。 HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。

对于在 Windows 服务环境中的 x64 位计算机上运行的 x32 版本的 cdb。 HKLM\Software\Wow6432Node\Microsoft\Symbol Server\NoInternetProxy DWORD 1。

对于从命令提示符运行在 x64 位计算机上的 x32 版本的 cdb。 HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Symbol Server\NoInternetProxy DWORD 1。

对于在 Windows 服务环境中的 x64 位计算机上运行的 x64 版本的 cdb。 HKLM\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。

对于从命令提示符运行在 x64 位计算机上的 x64 版本的 cdb。 HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 服务中运行 cdb 时无法下载 microsoft 符号 的相关文章

  • 为什么“this”指针在单步执行代码时会改变其值?

    我正在调试崩溃 我注意到调试器的一个步骤 this指针改变了它的值 经过 3 个步骤 它最终得到了值 0x00000001 应用程序崩溃了 现在 0x00000001 值显然是错误的 但我真的应该期待吗this当我单步执行调试器时值会改变吗
  • Net5 上的 ServiceProcessInstaller 在哪里?

    过去我使用过这些课程安装人员 https learn microsoft com en us dotnet api system configuration install installer view netframework 4 8 服
  • shark不显示源代码

    我们正在尝试在 iPhone 应用程序上运行 shark 然而 在分析的样本中 它没有列出我们的任何应用程序功能 所有列出的都是库 当我们单击其中任何一个时 汇编代码都是可见的 大多数网站在构建应用程序时都会提到 生成调试符号 选项 我也找
  • WinDbg:APPLICATION_HANG_WRONG_SYMBOLS

    我对 WinDbg 还很陌生 我正在尝试找到一个导致我的应用程序无缘无故挂起的错误 我不确定我做的事情是否正确 但我知道我需要系统 dll 以及我正在调试的 exe 的符号 因此 我这样设置符号路径 srv c websymbols htt
  • 从 Windows 服务中的 OnStart 立即触发计时器_elapsed

    我正在使用一个System Timers Timer我的代码中有如下代码OnStartC Windows 服务中的方法 timer new Timer timer Elapsed timer Elapsed timer Enabled tr
  • 当我们手动将tomcat作为Windows服务运行时,如何更改tomcat的java_opts?

    我在控制台上手动运行 tomcat 6 作为 Windows 服务 我需要在启动之前更改 java opts 我怎么做 另外 有没有办法可以动态查看日志 我知道这是一个旧线程 但需要纠正一些假设 仅供参考 当将 tomcat 作为服务运行时
  • 确定哪个方法持有 ReaderWriterLockSlim WriteLock

    目前我正在使用 WinDbg 分析转储 我运行了以下命令 以下苔丝不可思议的演练 http blogs msdn com b tess archive 2008 02 06 net debugging demos lab 1 hang re
  • 以编程方式更改 Windows 服务用户

    我需要以编程方式更改 Windows 服务的登录用户 我使用以下代码来做到这一点 string objPath string Format Win32 Service Name 0 ServiceName using ManagementO
  • 未定义的 C/C++ 符号作为运算符

    我注意到字符 符号 和 在 C C 中不用作运算符 有谁知道原因或历史原因吗 如果确实没有使用它 使用 define 将这些符号定义为另一个运算符 语句是否安全 通常情况下 define只接受宏名称中的有效标识符 所以你不能这样做 defi
  • 如何将 CLI 应用程序作为 Windows 服务运行?

    假设我有一个第三方应用程序 它执行后台工作 但将所有错误和消息打印到控制台 这意味着 目前我们必须保持用户登录到服务器 并在每次重新启动时重新启动应用程序 双击 不太酷 我有点确定 有一种简单的方法可以做到这一点 通用服务包装器 可以使用日
  • 有没有办法从 Windows 7 上的 Windows 服务启动 GUI 应用程序?

    我做了很多搜索 寻找一种从 Windows 7 上的 Windows 服务启动 GUI 应用程序的方法 我发现的大部分内容是 Windows 7 服务现在在单独的用户会话中运行 并且无法显示任何图形界面给当前用户 我想知道是否有任何解决方法
  • 使用 PSEXEC 远程启动和停止 Windows 服务

    如何使用 PSEXEC 远程启动和停止 Windows 服务 最好是编写语法我尝试了下面给出的 cmdlet psexec Server u Administrator p Somepassword ServiceName SysInter
  • 如何使用符号来标识 ruby​​ 方法中的参数

    我正在学习 Rails 并回到 ruby 来了解 Rails 中的方法 以及 ruby 的实际工作原理 当我看到如下方法调用时 validates first name presence gt true 我有点迷惑不解了 如何在 ruby
  • Fitnesse Slim:如何连接符号

    如何将符号与两侧的文本连接起来 例如 Prefix GAR 多变的 todayDate Suffix 1 GAR todayDate 1 这将评估为 GAR 07202012 1 在 Fitnesse 中运行测试时 似乎串联正在起作用 GA
  • WinDbg中出现“SOS版本与您正在调试的CLR版本不匹配”怎么办?

    我的某些应用程序出现问题 它是一个基于 wcf 的应用程序 在 Windows 2003 Server x86 的 IIS6 下运行 在事件日志中 我从 W3SVC WP 源 EventID 2262 收到这样的错误 ISAPI C WIN
  • 登录方式使用GINA定制

    我知道在 GINA 中找到大师并不容易 但我的问题最接近进程间通信 IPC 我用非托管 c 编写了我的自定义 GINA 我在其中包含了一个方法来检查用户尝试的指纹的有效性为了登录 该函数将调用正在运行的系统Windows服务中用C 编写的一
  • 用 C# 启动 Windows 服务

    我想启动一个刚刚安装的Windows服务 ServiceBase ServicesToRun if bool Parse System Configuration ConfigurationManager AppSettings RunSe
  • .Net 2.0 ServiceController.GetServices()

    我有一个启用了 Windows 身份验证的网站 从网站的页面中 用户可以启动一项对数据库执行某些操作的服务 启动该服务对我来说效果很好 因为我是服务器上的本地管理员 但我刚刚让一个用户测试了它 但他们无法启动该服务 我的问题是 有谁知道一种
  • MongoDB 3.0 Windows 服务启动:发生系统错误 2

    我已经下载了 MongoDB Windows msi 安装并成功运行 mongod exe 和 mongo exe 命令文件执行工作正常 安装手册展示了如何创建配置文件 然后使用命令创建Windows Server sc exe creat
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que

随机推荐

  • 流明框架路由不起作用

    我第一次使用Lumen框架 路线 我的 HomeController 不起作用 这是我的route php app gt get HomeController index 但我收到以下错误 2015 04 17 07 03 41 lumen
  • Apache URL 重写无法正常运行

    我正在尝试使用 apache rewrite 规则来转换以下 URL http localhost foo bar news php id 24 改成这个格式 http localhost foo bar news foo bar 号码24
  • 有没有办法在使用 Option::None 时提示编译器使用某种默认泛型类型?

    我需要一个函数来获取Option属于泛型类型T实现该特质std iter IntoIterator 一个幼稚的实现可能如下所示 是的 展开会出现恐慌None fn main let v vec 1i32 2 3 print iter Som
  • 在mysql中使用循环从另一个表插入数据

    我可以解决它php或其他语言 但我热衷于学习更多 SQL 有没有办法解决这个问题 我有两张表 我无法更改结构 一张content一些数据和其他数据content info以及一些附加信息 它们是这样关联的 content id conten
  • url 设计:从 url 中隐藏 pk/id 的方法

    要访问我网站上某个项目的详细信息页面 可以使用以下网址
  • 在普通 bash 中使用正则表达式提取子字符串

    我正在尝试使用 bash 从字符串中提取时间 但我很难弄清楚它 我的字符串是这样的 US Central 10 26 PM CST 我想提取10 26 part 有人知道仅使用 bash 执行此操作而不使用 sed awk 等的方法吗 就像
  • 错误域=NSOSStatusErrorDomain代码=560030580“操作无法完成。(OSStatus错误560030580。)”

    我正在使用 AVPlayer 播放在线 mp3 流 当我暂停播放器时 AVPlayer pause AVAudioSession session AVAudioSession sharedInstance session delegate
  • 如何在 Symfony 2 中传递 PHP 常量作为服务参数? [复制]

    这个问题在这里已经有答案了 使用配置文件定义服务时 如何传递 PHP 常量 CURLAUTH DIGEST在这个例子中 作为构造函数参数 I 现在无法测试但我假设 services my service class my service c
  • 使用C问题在线程之间传递数据

    我想知道如何使用在线程之间传递数据C语言 例如 X 等待来自某处的消息 Y 向 T X 发送有关事件的消息并等待响应 T X 处理该事件并向 T Y 发送响应 T X 等待另一条消息 一个示例程序取自https computing llnl
  • 绑定到静态属性

    我很难将简单的静态字符串属性绑定到文本框 这是具有静态属性的类 public class VersionManager private static string filterString public static string Filt
  • PHP 5.6.9 上的 Laravel 5 TokenMismatchException

    在 PHP 5 4 上运行 Laravel 5 应用程序时 Post 请求工作正常 在以下位置发布请求same app在 PHP 上运行5 6 9产生 TokenMismatchException verifyCsrfToken php 第
  • 为什么 C# 中允许重写静态方法

    protected static new void WhyIsThisValidCode 为什么允许重写静态方法 除了错误之外 它不会产生任何东西 它并不像你想象的那样工作 参加以下课程 class BaseLogger protected
  • C++中使用ifstream逐行读取文件

    file txt的内容是 5 3 6 4 7 1 10 5 11 6 12 3 12 4 Where 5 3是一个坐标对 如何在 C 中逐行处理这些数据 我能够获取第一行 但如何获取文件的下一行 ifstream myfile myfile
  • 无法将 PySide 与 Anaconda 一起使用

    我刚刚安装了 Anaconda for Python 3 然后安装了 PySide sudo apt get install python3 pyside 然后我尝试使用它抛出 Anaconda 的 python 版本并输入import P
  • 如何将 int[] 转换为 byte[]

    我有一个代表 RGB 图像的整数数组 希望将其转换为字节数组并将其保存到文件中 在 Java 中将整数数组转换为字节数组的最佳方法是什么 As Brian说 你需要弄清楚你需要什么样的转换 您想将其保存为 普通 图像文件 jpg png 等
  • OpenCV:了解内核

    我的书谈到了 OpenCV 中的图像内核概念 当计算在像素邻域上完成时 通常 用核矩阵表示它 该内核描述了如何 将参与计算的像素组合起来以获得 期望的结果 在图像模糊技术中 我们使用内核大小 cv GaussianBlur inputIma
  • C++ 中高效的线程安全单例

    单例类的通常模式是这样的 static Foo getInst static Foo inst NULL if inst NULL inst new Foo return inst 但是 据我了解 此解决方案不是线程安全的 因为 1 Foo
  • 在自托管 WebApi 中获取 HttpRequest 上下文

    如何从自托管 MVC WebAPI 访问查询字符串 对以下内容的调用因 NRE 失败 因为 Current 为空 又名 null System Web HttpContext Current Request myQuery 我需要访问控制器
  • 使用 boost::asio 的 AF_NETLINK (netlink) 套接字

    我正在编写基于的多播客户端 服务器应用程序this and this 效果很好 但是 当计算机中的活动网络接口数量发生变化时 我还需要执行一些操作 例如示例部分中的程序这一页 does 我想我应该使用 boost asio local 中的
  • 在 Windows 服务中运行 cdb 时无法下载 microsoft 符号

    我有一个 NET窗口服务那是在呼唤cdb exe分析故障转储 我想从以下位置下载符号http msdl microsoft com需要时自动使用参数 y srv c symbols http msdl microsoft com downl