Windows注册表应用程序崩溃

时间:2011-11-01 10:58:55

标签: .net c++ registry

我甚至不知道究竟应该问什么,所以我需要一些建议,想法,可能的原因......

所以,问题如下: 我有一个应用程序,应该在用户登录到计算机时运行。当应用程序从它的快捷方式或从主可执行文件中获取时,应用程序正常工作。我已将注册表项放入:

  

HKLM \ Microsoft \ Windows \ Current Version \ Run

指向我的申请。我还在:

中输入了一个条目
  

HKLM \ Microsoft \ Windows \ Current Version \ App Paths \ My Application.exe

指定工作目录,因为应用程序需要配置文件(XML)。尽管如此,每当我启动计算机时,应用程序会继续崩溃,并显示消息“.exe遇到问题并需要关闭”并带有调试选项,但是当我点击调试按钮时它没有显示任何内容。

我不知道究竟是什么问题所以任何建议都会得到很好的接受。

解决问题:

问题解决但我仍然有一些问题需要我研究。无论如何,如果我将工作文件夹路径放入

,还有一些未知的原因
  

HKLM \ Microsoft \ Windows \ Current Version \ App Paths \ My Application.exe

注册表没有任何效果。因此解决方案是将此路径写入

  

HKLM \ Microsoft \ Windows \ Current Version \ Run

注册表以下列方式:

CMD / C START“”/ D“工作目录路径”“exe的完全路径”。

此解决方案似乎运作良好。 谢谢你的回复。

2 个答案:

答案 0 :(得分:0)

如果你有权访问源代码,你可以编写一个日志文件,详细说明程序在崩溃之前的位置,这应该给你更具体的细节,windows 7对此非常严格,所以考虑使用{{3 }}

您可能需要将完整路径放在:
HKLM\Microsoft\Windows\Current Version\App Paths\My Application.exe
获得正确的应用程序背景的关键 例如
path: C:\My Folder\

Task Scheduler

答案 1 :(得分:0)

在磁盘上查找Dr Watson登录,如果找不到,请配置测试系统以生成一个。搜索谷歌的说明,这很简单。

获得日志文件后,搜索“fault - >”在文件中,它将告诉您崩溃的程序集的地址。如果你很幸运,它会为你提供一个功能,但你可能需要将日志文件与匹配的.map配对,以查找崩溃地址并将其与一行代码/功能相关联。另外,在发布模式下使用Debug>调试匹配源。 Windows>反汇编还会显示确切的内存地址,您可以与“fault - >”匹配沃尔森博士日志中的一行。

相关问题