アセンブリ コードを使用した GoClipse での Go プログラムのデバッグ
GoClipse で Go プログラムをデバッグしようとすると、デバッガーがGo コードの代わりにアセンブリ コードをステップ実行します。これは、デバッグ用に gdb を正しくインストールしているにもかかわらず発生します。
ブレークポイントが設定され、プログラムが Eclipse デバッガーを通じて実行されると、「rt0_darwin_amd64.s」のようなアセンブリ コード ファイルが入力され、「MOVQ $_rt0_go」のような行に焦点が当てられます。 (SB)、AX。」この動作により、デバッグが困難になる可能性があります。
この問題に対処するには、Go プログラムの停止時に [デバッグ] ビューの内容を確認します。 「main() at rt0_darwin_amd64.s」で始まるスタック トレースが表示される場合、これはデバッガーが C で記述された内部ランタイム「main」関数で一時停止したことを示します。
この動作は最初の関数によって制御されます。起動設定オプションのオプション。これを解決するには、オプションを「main.main」に設定して実際の Go main 関数で停止するか、単にオプションのチェックを外します。
あるいは、デバッガーが内部ランタイムの「main」関数で停止する場合は、次のことができます。 「実行/再開」(F8) をクリックして実行を続行します。これにより、Go コードをステップ実行し、期待どおりにデバッグできるようになります。
以上がGoClipse で Go プログラムをデバッグする際にアセンブリ コードへのステップインを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。