

[こちら](http://homepage1.nifty.com/Ike/ComShogi/01.html)のサイトを参考にコンピュータ将棋を作成中です。  
今回質問したいのは、C++のデバッグ方法です。理想はRailsでいう`binding.pry`とかで処理を止めて変数の中身を見たいのです。

そこでコマンドラインからデバッグしたい衝動にかられていたこともあり、macに標準で備わっているという`lldb`を使ってこの[サイト](http://homepage1.nifty.com/Ike/ComShogi/02.html)のchapter2をデバッグしてみました。以下打ち込んだコマンドです。

makefileでコンパイルしたあと、

[code]

    lldb ./shogi
    b kyokumen.c:29
    r
    
[/code]

ブレイクポイントを設定し`kyokumen.c`の29行目で止めたかったのですが、、普通に`./shogi`コマンドを打ったときのように将棋プログラムが起動してしまい止まったかどうかがわかりません。

理想は以下のような形で止めたいです。

[code]

    (lldb) r
    Process 93890 launched: '/Path/To/hoge' (x86_64)
    Process 93890 stopped
    * thread #1: tid = 0x53c0ae, 0x0000000100000f23 hoge`main(argc=1, argv=0x00007fff5fbff460) + 51 at hoge.c:6, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
        frame #0: 0x0000000100000f23 hoge`main(argc=1, argv=0x00007fff5fbff460) + 51 at hoge.c:6
       3    int main(int argc, char **argv) {
       4        char *test = "This is a debug demo.";
       5        char *name = "edo";
    -> 6        int age = 20;
       7
       8        printf("Name: %s, Age: %d\n", name, age);
       9
    (lldb)
    
[/code]

何か解決方法ございましたらご教示いただきたいです。


CC BY-SA 3.0
2015-12-23T01:40:28.830
20306
2015-12-24T01:42:39.910
2015-12-23T02:20:17.917
3639
13652
question
c++ macos
C++デバッグについて


コンパイラは何を使っていますか? コンパイルの際に、`-g`
などのオプションを付けてデバッグ情報付きでコンパイルを行わないと、ブレークポイントで止めるといったことができないように思います。


CC BY-SA 3.0
2015-12-24T01:42:39.910
20325
2015-12-24T01:42:39.910
264
20306
answer