背景:我是WinDbg的新手并试图让它第一次运行.我想检查一下从Windows Server 2008(x86)上的IIS 7中运行的运行的ASP.NET 4站点获取的内存转储,并下载到我的本地计算机.
我安装了调试工具并首次启动了WinDbg,打开了故障转储.我去了File | 符号文件路径并设置路径*srv*c:\symbols*http://msdl.microsoft.com/download/symbols*并等待加载的所有符号.
在尝试加载SOS时,我遇到了问题.首先,我尝试了以下命令......
.loadby sos mscorwks
Run Code Online (Sandbox Code Playgroud)
......并收到了答复Unable to find module 'mscorwks'.
在搜索网页后,我尝试通过执行以下命令来加载mscorwks ...
sxe ld mscorwks.dll
g
Run Code Online (Sandbox Code Playgroud)
...并收到响应"'g'中没有可运行的调试对象错误"
我将SOS.dll(从C:\ Windows\Microsoft.NET\Framework\v4.0.30319)复制到WinDbg目录中,然后尝试...
.load sos
Run Code Online (Sandbox Code Playgroud)
......并收到错误......
The call to LoadLibrary(sos) failed, Win32 error 0n193
"%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.
Run Code Online (Sandbox Code Playgroud)
我不太清楚如何继续.我只是想加载SOS并挖掘这个转储文件.任何帮助将不胜感激.
Fyi ...我正在尝试使用64位版本的Windbg在64位版本的Windows 7上打开转储文件.
我有一个WPF项目,我试图发布没有任何形式的安装程序.基本上我希望程序编译在一个目录中,旁边有所有必要的文件,这样我就可以压缩所有内容并在客户端部署程序.
理想情况下,我希望在EXE中编译所有外部资源.
有没有办法做到这一点?如果我进入debug/bin文件夹,在我的工作站上,我可以执行EXE,但是如果我将它与DLL一起压缩并尝试在另一台机器上执行它崩溃,可能错过了一个文件是我的猜测.(如果我使用安装程序发布它可以工作,但这不适合这个项目).
谢谢Steve
编辑:当我执行程序(我在成功构建后从Bin目录复制)时,没有任何反应,只是"程序已停止工作"的消息.我的程序使用3个外部文件,一个图标,一个图像和一个字体.我引用了一个DLL(WPFtoolkit),我将该DLL添加到我的解决方案资源管理器中的目录中.所有文件都设置为嵌入式资源,并且"不要复制".我还将此代码添加到我的程序中,仍然是同样的错误.http://codeblog.larsholm.net/2011/06/embed-dlls-easily-in-a-net-assembly/我的EXE的大小是正确的,我可以看到DLL已被"添加"到它.该程序仍然只适用于我的工作站:(
编辑:
我应该将DLL保留在引用中吗?我的猜测是否定的,但如果我这样做,当我打电话给我时会收到错误:
using Microsoft.Windows.Controls;
Run Code Online (Sandbox Code Playgroud)
如果我不打电话,程序编译但崩溃.请参阅以下错误消息:
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: sw imperium.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 53bdd468
Problem Signature 04: PresentationFramework
Problem Signature 05: 4.0.30319.18408
Problem Signature 06: 52312f13
Problem Signature 07: a19
Problem Signature 08: 46
Problem Signature 09: System.Windows.Markup.XamlParse
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,我在Windows 7 Ultimate计算机上使用Visual Studio 2010中的C#.NET 4.0编写.此应用程序在Vista和其他Windows 7计算机上都能正常运行,但每当运行Windows XP的人试图运行它时,它都会崩溃.
为了重现这一点,我尝试在我的Win XP VMWare机器上运行它,它在那里崩溃了.不幸的是,它没有给我任何特定的错误,只是告诉我程序崩溃了,需要关闭.
另一位用户发给我以下内容:
Run-time error '339'
Component 'vbalSGrid6.ocx' or one of its dependencies not correctly registered: a file is missing or invalid.
Code 0xe0434352
Flags 0x00000001
Run Code Online (Sandbox Code Playgroud)
当我尝试在我的Virtual XP机器上运行它时,我没有得到那一点,我也确保在那里安装.NET 4.0.
可能导致这种情况的原因是,如果XP支持.NET 4框架,为什么该应用程序不会在XP中运行?
程序中使用的组件:DataGridView,ComboBox,Buttons,Labels,LinkLabel,NewtonSoft的JSON解析器,以及它的相关内容.
我很困惑,完全不知道从哪里开始.想法?
更新:嗯,尝试在XP上运行我最近创建的其他应用程序,它加载得很好.两者之间唯一的主要区别(在我使用的组件中)是我使用NewtonSoft的JSON库,我实际上认为它是.NET 3.5组件.
更新2:只是为了踢,我试图在我的Wind7机器上以"Windows XP SP3"兼容模式运行程序,它运行正常.当然,我不知道"兼容模式"如何模仿真正的XP SP3环境,但我想我还是会给你信息.
c# compatibility windows-xp .net-4.0 backwards-compatibility
我编写了一个应用程序,它在我的开发设备和我的 Win 7/8/10 虚拟机上运行良好,但在我尝试过的每台其他计算机(win 7/8/10)上都崩溃了。启动应用程序时,几乎就像什么也没发生一样。
在事件查看器中,例外是XamlParseException。
事件查看器发现了这一点(v4.0.30319即使我的设备和所有设备都安装了 .NET 4.5+):
Application: HelpScoutMetrics.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Windows.Markup.XamlParseException
Stack:
at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
at System.Windows.Application.LoadComponent(System.Object, System.Uri)
at HelpScoutMetrics.MainWindow.InitializeComponent()
at HelpScoutMetrics.MainWindow..ctor()
at HelpScoutMetrics.App.OnStartup(System.Windows.StartupEventArgs)
at System.Windows.Application.<.ctor>b__1(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, …Run Code Online (Sandbox Code Playgroud)