我会发布一个片段,但老实说我不知道我的代码可能会做什么。这个程序很大,我不想让你们全部涉足它。可能是什么原因造成的?从命令提示符调用时,一切都运行良好:“readoo.exe”。但是当我单击其文件中的exe时。 。 。 “readoo.exe遇到了问题,需要关闭......”
这最终是一项计划任务 - >我很担心,它会起作用吗?
我从未调试过,我用过的只是记事本。我正在学习,并认为这加强了我对项目的理解。
它立即崩溃了。虽然文件路径是相对的,但没有快捷方式。尝试此方法:快捷方式 - >属性 - >快捷方式 - >开始。我没有“快捷方式”选项
我的程序读取日志文件,解析,并根据找到的内容创建4个新文件
Microsoft错误报告说未找到文件。但这怎么可能呢?文件在那里,虽然是相对的。
答案 0 :(得分:3)
获取您项目的副本,然后开始黑客攻击。当它不再崩溃时,你已经移除了导致问题的位。
双击它时,它在什么时候失败?是立即,还是仅在您采取某种行动时?
您还可以添加大量日志记录,这可能表明问题所在。
答案 1 :(得分:3)
这可能正在寻找一个它找不到的dll,或者找不到它想要的版本。
您可以尝试使用sysinternals中的Process Monitor或Process Explorer来查看它在运行时以及在找到它们的位置加载的dll。
答案 2 :(得分:2)
尝试将System.Diagnostics.Debugger.Break()
调用作为Main()
中的第一项内容,并且您将被要求附加调试器 - 这绝对应该向您显示2次调用之间的不同之处。
答案 3 :(得分:1)
我首先要确定两种执行方法的不同之处。是否有修改任何内容的快捷方式?
答案 4 :(得分:1)
如果您的应用程序依赖于某个文件,该文件应位于该exe的同一路径上,则可能会发生这种情况。
您必须将exe的属性(或exe的快捷方式)更改为exe的目录“Start In”。要获得快捷方式,请右键单击快捷方式 - >属性 - >快捷方式 - >开始。
我想这就是我认为可能的原因。
编辑:在代码末尾添加一个Console.ReadLine,让它暂停,以便您查看抛出的任何异常。当您使用Windows资源管理器运行它时,这应该会有所帮助。
答案 5 :(得分:1)
有两件事情可能是:
答案 6 :(得分:0)
在代码中放置一个try / catch,并将异常消息输出到catch块中的控制台。这应该会给你一些线索。