質問: C++のコードをgccを使用してコンパイルしているのですが、 visual studio codeのデバッグ機能を使用しブレイクポイントを貼り実行すると問題なく動作してくれるのですが、 コマンドラインからコンパイルし実行すると一部の動作がスキップされて困っています。 ネットでも調べてみたのですがそれらしい文言もなく、何か参考になりそうなサイトや情報を頂けると幸いです。 環境 gcc 9.1.0 mac Mojave
回答: 直感によるコメントですが・・・ 質問者さんが書いたコードに、未初期化の領域を参照するといった類の未定義動作となるようなバグがある気がします。 そういうバグがあれば、起動の仕方によって(gdb下で起動, シェルから直接起動, etc.)振る舞いが変わるのは不思議ではないと思います。 プログラムの走行ルートを支配する変数(例えばif文の条件式の結果を決める変数)の中身を印字してみるなどのデバッグを少ししてみると原因が見えてくるのではないでしょうか?