<< JUGEMの円記号の文字列の変換で地雷を踏む | main | Code::Blocks 10.05 からCDBを使う >>

スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク * - * * - * - * web拍手WEB拍手!

Code::Blocks 10.05 から VS 2010 Express のデバッガーと連携する

ゆっくりした結果が…Code::Blocks 10.05 から VS2010(Microsoft Visual Studio 2010 Express)を使ってみる実験。今回は、デバッガの設定を書いてみる。需要は無いだろうけどね。ちなみに、言語はC++だ。なんて時代遅れなんだ!

左の画像は、wxWidgetsを使いつつ、UpdateLayeredWindowとかポータビリティのない関数を使ってみたもの。ポータビリティが無くなっているので、wxWidgetsを使う意味がよく分からないことになっている。ほかの人の絵を無断で掲載するのに気が引けるので、自作絵で我慢する。

User-defined tools メニューを開く
Tool menu[Tool]メニューから[Configure Tools]の項目を選択する。
VS2010 - User-defined tools - 01次に、[Add]ボタンをクリックして、[User-defined tools]メニューを開く。
VCExpress.exeのデバッガを設定

ここからは、2通りの設定の仕方がある。前者が、/Ziオプションだけ指定してコンパイルする場合、後者が、/Ziと/Fdを指定してやる場合だ。Code::Blocksだとカレントディレクトリが、cbpファイルの置いてあるディレクトリだから、面倒でなければ後者の設定のほうがお勧め。

case 1 - 実行ファイルのあるディレクトリをカレントディレクトリにする場合
User-defined tools - Edit tool - Window - 01プログラムのあるディレクトリでデバッガを実行する。次のように設定する。
Name: Debug VC2010
Executable: インストール場所¥VCExpress.exe
Parameters: /debugexe ${TARGET_OUTPUT_BASENAME}.exe
Working directory: ${TARGET_OUTPUT_DIR}
 o Launch tool visible detached

case 2 - cbpプロジェクトファイルのあるディレクトリをカレントディレクトリにする場合
VS2010 - User-defined tools - Edit tool - Window 02ケース2: プロジェクトの置いてあるディレクトリでデバッガを実行する。次のように設定する。
Name: Debug VC2010
Executable: インストール場所¥VCExpress.exe
Parameters: /debugexe ${TARGET_OUTPUT_FILE}
Working directory: ${PROJECT_DIR}
 o Launch tool visible detached
こっちのほうが、お勧めだけど、コンパイルするときに、次のように /Fd:pdbファイルのパス のスイッチで pdb ファイルのパスを上記の "Working directory" と同じパスを指定する必要がある。実のところ、これは、Code::Blocksのcbpファイルのある場所が、上記の"Working directory"なので、相対パスで次のように書ける。
/Fd"program_name.pdb"

デバッガ起動
急に記事を書くテンションが下がってきた。後は、テキストで書きます。
  1. プロジェクトを起動して、[Tool]メニューから、デバッガを起動します。
    この例どおりにやった良い子は、"Debug VC2010"となっているはず。まぁ、名前は何でもいい。好きな人の名前とか、フナムシとか意味不明なものを入れると新鮮かもしれんね。とりあえず、成功すれば VCExpress.exe が立ち上がります。まさか、ここで立ち上がらないなんて人はいないよね。応援してます。立ち上がってきてください。
  2. まずは、[デバッグ]メニューから、[デバッグ開始(S)]を選択して実行する。
    出力に、こんな風に出ていればよい。
    'program_name.exe': 'path_of_program¥program_name.exe' を読み込みました。シンボルが読み込まれました。
    ここで、シンボルが読み込まれていないと怒られたら、前述のWorking directoryに pdbファイルが出力されていないということだ。その時は、刮目(かつもく)せよ。そして、悔い改めよ。ということだ???
  3. 後は、似るなり焼くなりする。
ブレークポイントを設定して、ステップ実行した例
VS2010 - 関数のブレークポイントC++だとクラス名を修飾してやれば、普通に呼べるっぽい。

まだ、Visual Studioのデバッガの知識は、みそっかすなので、行番号とか文字とかの意味はよく今のところ分かっていない。ソース行かと思ったけど、想定した位置で止まらないし、微妙に違うのか?それも、そのうち分かるだろう。


VS2010 - ステップ実行とりあえず、関数の先頭からステップ実行をしながら、変数の中身を除ける。
参考URI
Kai * ソフトウェア開発関連 * 22:55 * comments(2) * trackbacks(0) * web拍手WEB拍手!

スポンサーサイト

スポンサードリンク * - * 22:55 * - * - * web拍手WEB拍手!

コメント

このホームページの内容をCode::Blocksフォーラムに投稿しました。
Comment by 片山博文MZ @ 2011/02/04 11:39 AM
わざわざ報告ありがとうございます。
Comment by 雅 やかな @ 2011/02/05 2:55 AM
コメントする









トラックバック

このページの先頭へ