質問

3人のコンパイラ(Borland、GNU、Microsoft)と一緒に作業する必要があるプロジェクトがあります。 2/3で動作しますが、今ではMicrosoftsで動作させる必要があります。他のコンパイラと一緒に正常に動作する場所でクラッシュしているように見えるので、コマンドラインでデバッグする方法があるのではないかと思っています。 gdb GNUと。

役に立ちましたか?

解決

(完全な開示:私はビジュアルスタジオチームに取り組んでいます)

Microsoft C ++コンパイラを使用している場合、Visual Studioはすでにインストールされていますか?その場合、組み込みデバッガーを使用できます。そうでない場合は、試すことをお勧めします Visual C ++ 2010 Express 無料で。優れたネイティブデバッガーがあります。 First Chanceの例外(C ++、SEH、Win32例外)を破ることができ、コールスタック、地元の人々などとともにそれが起こったラインに右に進むことができます。

他のヒント

Windows用のデバッグツール - を含むデバッグツールの優れたパッケージ cdbntsd コンソールデバッガー(GUI WindBGデバッガーに加えて)。

パッケージには素晴らしいドキュメントがあり、クラッシュを処理する「ジャストインタイム」デバッガーに簡単にセットアップでき、クラッシュダンプで非常にうまく機能します。

これらは、Microsoftがクラッシュ分析(およびその他)に使用するハードコアデバッグツールです。

Windowsにはバージョンが付属していることに注意してください ntsd デバッガー(少なくとも以前は - ツールパッケージのインストール以外のWin7ボックスにはないように見えます)が、とにかくパッケージを入手することは素晴らしいアイデアです。素晴らしい情報の。

さて、あなたは試してみる1人のコンパイラと問題を抱えています 非常に 意図的にプログラムをクラッシュさせるのは難しい。これは、「ランタイムエラーチェック」と呼ばれ、 /rtcオプションコンパイルオプションです。あなたはそれをオフにして、他のものと同じように振る舞うことができます。または、「ここで何かが間違っている」角度を追求することもできます。 /RTCのMSDNライブラリ記事で十分に文書化されています。

Codeviewはそれを行う古い製品ですが、Visual Studioを使用して同じことをすることができなかった理由はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top