2009-08-28 5 views
0

私はVS2k8を使って、Vista x64上のMPICH2ライブラリを使ってプログラムを書いてコンパイルします。次に、コマンドラインからmpiexecを使用してプログラムを起動します(デバッグのために1つのプロセスのみ)。gdbをアタッチしたいと思います。単にattachまたはgdb --pid=###を使用しても動作しません(私はエラーCan't attach to processを取得します)。これは、VSが正しいデバッグ情報でコードをコンパイルしないためです。一方、いくつかのGoogleのセッションにもかかわらず、私はVSがコンパイルするために使用する実際のコマンドラインをまだ見つけていないので、単にそれを編集して編集することはできません。gdbを私のプロジェクトにアタッチするのに助けが必要です

私がVSを使用する唯一の理由は、コマンドラインからコンパイルしようとしたときにg ++を見つけることができなかったからです。 (はい、私は-I-lスイッチを試しましたが、役に立たないです)

私のMPIプログラムを実行しているプロセスにgdbを付けることが必要です。どんな助けもありがとうございます。

+0

2番目の質問をすることは頼りになるかもしれません(これを編集しないでください一つは、Windows上でg ++を使ってMPIをコンパイルすることです(もしあれば)。 –

答えて

2

cl.exe(Visual Studio)とgdbのバイナリ形式は、残念ながら互換性がありません。 gccを使ってコードを再構築する方法が見つからない限り、デバッグにgdbを使用することはできません。その間、Visual Studioを使用して、ツール>プロセスにアタッチする(またはCtrl + Alt + Pを押す)ことでプログラムを直接デバッグできます。

+0

残念ながら、プログラムは 'mpiexec'で起動したときにのみ動作するので、VSからのデバッグは簡単ではありません。私は 'cout'を使って自分のコードをデバッグすることに固執すると思います。 :) – suszterpatt

+0

ugh、それはバマーです:) –

+0

mpiexecで起動した後にVSデバッガをプロセスにアタッチしてみませんか? – mmmmmmmm

2

gdbは機能しませんが、Gflagsを使用してプログラムを作成できます起動時にいつでもデバッガ(VS、windbg、...)から実行できます。 HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Imageファイルの実行オプション¥ImageFileName¥Debugger

関連する問題