大佬教程收集整理的这篇文章主要介绍了Windows SDK – C# – 调试进程退出,错误代码为-1073741502,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当进程退出错误代码-1073741502时,如何确定哪个DLL无法加载(以及可能的原因)?
长版
我正在尝试为Mercurial编写一个pretxnchangegroup挂钩,作为该挂钩的一部分,我需要获取运行该命令的输出:
hg日志
我用来启动和运行hg.exe进程的代码如下:
String Command = "log"; Process p = new Process(); ProcessStarTinfo psi = p.StarTinfo; p.StarTinfo.Filename = @"C:\Program Files (x86)\Mercurial\hg.exe"; psi.CreateNowindow = true; psi.LoadUserProfile = true; psi.RedirectStandardError = true; psi.RedirectStandardOutput = true; psi.UseSHellExecute = false; psi.WorkingDirectory = Environment.CurrentDirectory; p.StarTinfo.Arguments = Command; // Pass-through environment variables psi.UserName = Properties.SetTings.Default.HG_User; psi.Domain = Properties.SetTings.Default.HG_Domain; psi.password = new Sy@R_403_2407@.Security.SecureString(); foreach (char c in Properties.SetTings.Default.HG_Pass) { psi.password.AppendChar(c); } p.Start(); p.WaitForExit();
问题是该过程一直以错误代码-1073741502退出,而不会在标准输出或标准错误上输出任何内容.经过网上的一些研究,我发现这个错误代码与应用程序无法正确初始化有关(找不到DLL,可能?),但我不知道如何去搞清楚如何修复它.
请记住,当我通过Web推送到存储库时,会调用此挂钩(因此,IIS通过Python@L_535_21@mercurial CGI,将此程序配置为挂钩).
在一个完全不同的Web应用程序中,我能够很好地运行HG命令,而且我也可以通过执行
runas / user:<与代码相同的帐户> / noprofile cmd.exe然后手动输入hg命令行.
另外,如果我设置UseSHellExecute = true,那么它执行得很好,但是我无法获得标准输出.我真的很想对Web应用程序进行Web服务调用,该应用程序能够成功执行此命令,但这是一个非常难看的解决方案.
任何想法为什么这个东西没有执行?
http://www.tomshardware.co.uk/forum/217729-36-application-failed-initialize-properly-0xc0000142
http://blogs.msdn.com/b/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx
以上是大佬教程为你收集整理的Windows SDK – C# – 调试进程退出,错误代码为-1073741502全部内容,希望文章能够帮你解决Windows SDK – C# – 调试进程退出,错误代码为-1073741502所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。