Visual Studio 2010 Professional EditionおよびWindows Vistaを使用しています。Visual Studioでのダンプファイルのデバッグ
まず、私はこのコードを持っています。あなたが見ることができるように、それはプログラムをクラッシュさせるでしょう!
using System;
namespace Crash
{
class Program
{
static void Main(string[] args)
{
string a = null;
if (a.Length == 12)
{
// ^^ Crash
}
}
}
}
プログラムはif文でクラッシュします。さて、私はそれがif文でクラッシュしたことを知りたい。
Visual Studioから「デバッグなしで起動」すると、Crash.exeがクラッシュします。 1,356kbのメモリを使用します。私はプログラム/デバッグを閉じるのVistaオプションを取得します。デバッグを選択すると、Visual Studioの新しいインスタンスを開くことができ、ifステートメントでNullReferenceExceptionを指摘します。これはいい。
ここで別のコンピュータでクラッシュしたと仮定して、タスクマネージャでダンプファイルを私に渡すようにします。それは54,567kbです。なぜそんなに大!それは広大です!しかし、これは私にはあまり関心がある
Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\Richard\Desktop\Crash.DMP]
User Mini Dump File with Full Memory: Only application data is available
Symbol search path is: SRV*C:\SYMBOLS*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows Server 2008/Windows Vista Version 6002 (Service Pack 2) MP (4 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS Personal
Machine Name:
Debug session time: Sat Jan 15 11:07:36.000 2011 (UTC + 0:00)
System Uptime: 0 days 4:24:57.783
Process Uptime: 0 days 0:00:05.000
........................
eax=002afd40 ebx=77afa6b4 ecx=002afd48 edx=00000001 esi=001cdaa4 edi=00000000
eip=77bf5e74 esp=001cda5c ebp=001cdacc iopl=0 nv up ei ng nz ac pe cy
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000297
ntdll!KiFastSystemCallRet:
77bf5e74 c3 ret
:とにかく、私はWindbgのにそのダンプを開くと、私は私の素人目に使用の非常に少ないの取得(少し)
ことにはあまり興味があります。私が知る限り、有用な出力を得るためにはコマンドを記述する必要があり、Visual Studioが優れています。
私はVisual Studioで開きます。私は「ネイティブのみでデバッグする」を選択することができますが、私はあなたのような人々を巧みにするための何かを意味するものをたくさん得ています。
だから、私の質問:
私は私のソースコードにVisual Studioのを表示するにはどうすればよい私は、これらの二つの画面を取得しますか?
また、ダンプファイルを小さくする方法はありますか?それは圧縮した後でさえ、とてつもなく大きいようです。私は、なぜプログラムのフットプリントよりほんの少し大きいものが存在せず、ソースコードとともに素晴らしいデバッグを得ることができないのか分かりません。
Visual Studioに組み込まれているデバッガについてよく知っていますか?私はあなたの質問の一番下まで実際には読んでいませんでしたが、これがなぜあなたにとってうまくいかないのかは不明です。 –
すべての正直なところ、私はそれに精通していないので、私はここに来た理由です。どこかで "Load source"ボタンがなければなりませんが、私はそれを見つけることができます... – niemiro