Windowsのクラッシュダンプ解析でソースが見れない

このQ&Aのポイント
  • Windowsのクラッシュダンプ解析でソースが見れない問題について
  • VisualStudioDebuggerでのMFCアプリケーションのクラッシュダンプ解析で、自分で書いたソースが見れない理由を調査中
  • Windowsのクラッシュダンプ解析時に生成されたpdbを読み込んでいるが、自分で書いたソースだけが表示されない
回答を見る
  • ベストアンサー

Windowsのクラッシュダンプ解析でソースが見れない

Windowsのクラッシュダンプ解析でソースが見れない 表題の件ですが、あるMFCアプリケーションを開発しておりまして、その際にミニダンプを例外発生時に出すようにしております。このダンプをVisualStudio2008で開き、VisualStudioDebuggerで走らせて見たときに、ビルド時に生成されたpdbも同時に読み込んでいるのですが、自分で書いた部分のソースだけ見れません。MFCのソース等はコールスタックウィンドウから飛んでくれます。 似たようなことを別のアプリで行っていたときは自分で書いたソースも見れていたのですが、ちょっと理由を調べられなくて困っています。 どなたかお分かりになられる方おられましたらご教授願えれば幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8524/19373)
回答No.1

ちゃんとデバッグビルドをしてDebugフォルダにある方の「デバッグ情報付きのターゲットプログラム」をデバッガに読み込ませていますか? リリースビルドをしてReleaseフォルダにある方の「デバッグ情報が無いターゲットプログラム」をデバッガで読み込んでも、ソースレベルデバッグは出来ませんよ。

crysis5375
質問者

お礼

ご回答ありがとうございました。 まぁ補足に書いたようなケース以外ではまともに使えそうなのであまり気にしないことにして、あとから調べようと思います。 サムネの犬かわいいですね。

crysis5375
質問者

補足

ご回答ありがとうございます。 実はソースが見れないケースというのが、    throw 1; などとして例外を投げてみたときだけのようで、なぜこうしたときに見れないのかがちょっとわかっていません。  int *i=NULL; *i = 0; などという例外が発生するコードの場合はリリースビルドで生成されたpdbでもソースレベルデバッグができました。まぁ上のような例外の投げ方なんて普通はあまりしないと思いますがw ただ上のように直接値を例外として投げてもソースレベルのデバッグができていたなと思い出しましてはまっています;

関連するQ&A

  • VisualStudio2005で、Ctrl+TABで、直接、ソースウインドウを切り替えたい

    VisualStudio 6.0ではCtrl+TABで、直接、ソースウインドウに表示されるソースを切り替える事が出来ていましたが、2005では、直接ではなく、切り替えダイアログが表示され、そこで確定しないと、ソースウインドウは更新されないようになってしまいました。 VisualStudio 6.0の時の様に、Ctrl+TABで直接切り替えたいのですが、どの様にすればよいのでしょうか? よろしくお願いします。

  • VisualStudio 6.0 or 5.0?

    いつもお世話になっています。 VisualStudioでMFCを使って開発されたwindowsアプリを解析する仕事を担当することとなりました。解析するアプリケーションなのですが、ドキュメント等、何も残っていないのでどのような経緯、機能があるのかソースから判別するしかない状況です;;dswファイルがあるので6.0以前に作られたソースだとは思うのですが。 で、タイトルにもあるのですが、このdswファイルなどの情報からVisualStudioの5.0、6.0のどちらで開発されたソースかどうか判別できるのでしょうか?6.0の環境でソースコードは問題なくビルドできました。VisualStudio5.0をまったく触ったことが無いのと、5.0と6.0の互換性についての情報があまりないので調べる手段が無く結構困ってます。 回答よろしくおねがいします。

  • Windows MeでOutlook2000が必ずクラッシュ

    98>Meにアップグレードしてから、タイトル通りの症状です。 プログラムは起動するのですが、メールサーバーに接続しようというタイミングでクラッシュします。 Outlookは再インストールもしましたが、全く同じです。 Expressでは正常に動きますし、メールのやりとりも問題有りません。 解決方法をご存じの方、ヒントでも有ればよろしくお願いいたします。 下にNortonクラッシュガードで採取したエラーの詳細を示します。 ------------------------------------------------- Windows 98 バージョン 4.90.3000 OUTLOOK.EXE が原因でエラー c0000005 が起きました。 場所は OLEAUT32.DLL の中のアドレス 018f:7fe8369d レジスタ: EAX=ffffffff CS=018f EIP=7fe8369d EFLGS=00010286 EBX=00002024 SS=0197 ESP=0056f68c EBP=0056f770 ECX=00000000 DS=0197 ESI=ffffffff FS=6747 EDX=ffffffff ES=0197 EDI=00562024 GS=0000 バイト位置はCS:EIP: 8b 46 08 85 c0 0f 87 0d 75 02 00 f6 46 03 20 75 スタックダンプ: 00562024 0056f884 7fe83690 ffffffff 00000001 7fe816f8 ffffffff 0056f884 00584a1c 0056f81c 3a496733 0056f884 00698690 00000000 3a496676 00000000

  • スケルトンの中のどこでウィンドウが生成されているのか?

    VC++、MFCです。 MFC AppWizardでSDIベースのスケルトンを生成した時点で、既にウィンドウが作られるコードがソース内に存在するはずなのですが、単純にCreate関数を探しても見当たりません。 一体どこでウィンドウが作るコードはどこにあるのでしょうか?

  • ASP.NETの実行時のエラーについて

    ASP.NETを勉強しているのですが、DataGridを用いて単にDBの中身を表示させようとしたのですが、次のエラーが出て実行できません。 「System.StackOverflowException の例外がスローされました」 例外の詳細: System.StackOverflowException: 種類 System.StackOverflowException の例外がスローされました。 ソース エラー: 現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。 スタック トレース: [StackOverflowException: 種類 System.StackOverflowException の例外がスローされました。] このエラーはどのような意味なのでしょうか。調べているのですが、よくわかりません。 解決法を教えていただけないでしょうか。 よろしくお願いいたします。

  • windows7 flashがクラッシュします><

    新たにPCを購入しおそらくflashではなかろうかと思い、 自分なりに必死に調べたのですが自分ではどうにもならなくなりどなたか詳しい方にお力をお借りしたく質問されて頂きました。 以前からFirefoxをメインに使い、GoogleChromeをサブブラウザとして使っていまして環境を整えている時に気づきました。 【症状】 (1)Firefoxのみ動画再生等々flashの問題なし。 (2)FirefoxのIEタブ〈IE Tab 2(FF 3.6+)〉で開くとクラッシュする。 (3)IEで開いても同じくクラッシュ (4)GoogleChromeで動画再生やストリーミング配信(ニコニコ生放送、Ustream)を閲覧しようとすると画像のように毎回クラッシュし視聴できない。 【PC詳細】 Corei7 2600K OS Windows7 home 64bit SSD 120GB HDD 150GB(前のPCから流用) メモリ 8G グラフィックボード XFX HD-485X-YDF/YDFC Radeon HD 4850 512M 電源700W flashplayerをアンインストールし別のバージョンをインストールし直したり、 グラフィックボードのドライバーをインストールし直したりしましたが一向に症状が改善しません。 どなたかこの症状についてご存知の方お力をお貸しください;

  • VisualStudioの文字コードについて

    現在、WindowsとLinux(Unix)でソケット通信を行い、文字のやり取りをするプログラムを作成しています。 ソースコードやコンパイルの環境は、 Windows側(Windows7):C言語(Windowsプログラミング)、VisualStudio2013でビルド&実行 Linux側:C++、g++(Cygwinを使用) です。 Windows側のソースコードがShift-JIS、Linux側がUTF-8であり、このままだと文字化けしてしまうため、Windows側のソースコードをUTF-8に変更(VisualStudioでソースコードを保存するときに「エンコード付きで保存」を使用)して再度ビルド、実行を行ったのですが、やはり文字化けしてしまいます。 ソースコードの文字コードを変更しただけでは不十分なのでしょうか? 原因があまりよく分からず困っています。 もし何か分かることがあれば教えていただきたいです、よろしくお願いします。 (もしかしたらカテゴリ違いかもしれません、申し訳ありません)

  • illustratorでepsが解析できない

    BMPファイルからベクターデータを生成するソフトpotraceを使ってみようと、ダウンロードしてepsファイルを作ってはみたものの、いざillustratorで読み込もうとすると「このファイルはEPS解析で解析できません」というメッセージが出て開けません。(FireworksやPhotoshopでも開けませんでした) 現在の環境は、windows95OSR2で、illustratorは8を使っております。 変換したデータは、封筒から会社のロゴをスキャンし、Photoshop5.5にてモノクロ2階調に変換した後、BMPファイルで保存したものです。 コマンドプロンプトから手順どおりEPSファイルを作りました。 ためしに、他のサイトからpotraceで作ったサンプルのEPSファイルを落としてillustratorで開いてみると、問題なく解析されて開くことができます。 なぜ自分の作ったEPSファイルだけが解析不能なのか、どなたかお解りになりますか?

  • 「ソースファイルが見つかりません」と出てしまう

    Delphi6で、 http://pastebin.com/TqHzHgXT ↑にあるプログラム(Bmpファイル、Jpegファイルの指定した座標のTColor値を取得、RGBに分解して表示する)を、 1. Form1にボタン2個を配置。(Button1、Button2) 2. Memoを配置。(Memo1)縦に長めにしておくか、ScrollBarsプロパティをssVerticalに設定。 3. Button1をダブルクリック。(イベントが登録され、イベントハンドラ雛型が自動生成される) 4. 同様にButton2もダブルクリック。 5. ソースをコピーして、Delphiのエディタ画面に貼り付け。内容をすべて置き換えるようにする。 の手順で行いましたが、コンパイル時 「ソースファイルが見つかりません:classes.pas」 というエラーメッセージが出てきてしまいます。 (ソースファイルへのパスは「classes.pas」です。) その画面を閉じると、 「プロジェクト1.exeが EFOpenErrorクラス の例外を生成しました。ファイル C:\~\Test/bmp は開けません」 と出ます。(2回) これはどのように解決すれば良いでしょうか? Delphiも勉強しながらやっている段階で知識が不足しているので、ソースプログラムや参考URLをそのまま載せていただけると嬉しいです。 方法をご存知の方いましたら、是非知恵を貸してください!m(_ _)m

  • MFCでのウィンドウ生成

    http://www7.plala.or.jp/bunpan/htmldata/program/mfc/fol_001/mfc00112.html ここにMFCによるウィンドウ生成方法が載っています。 クラスを定義して、MyCreate() をコールすることで、ベタなウィンドウを作成できますよ。とありますが、引数UINT nIDは何を与えれば良いのでしょうか? ************************* int CxxxWnd::MyCreate( dwStyle, rect, pParentWnd, nID, pContext ); DWORD dwStyle; // (I) 作成するウィンドウのスタイルを指定してね。 const RECT ▭ // (I) 作成するウィンドウのサイズを指定してね。(参照受け渡し) CWnd *pParentWnd; // (I) 親ウィンドウのクラスのオブジェクトのアドレスを指定してね。 UINT nID; // (I) ID を指定します。 CCreateContext *pContext; // (I) ウィンドウの作成コンテキスト。(NULL でいーんじゃん?)

専門家に質問してみよう