ホームページ >バックエンド開発 >Golang >GoClipse で Go プログラムをデバッグする際にアセンブリ コードへのステップインを回避するにはどうすればよいですか?

GoClipse で Go プログラムをデバッグする際にアセンブリ コードへのステップインを回避するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 23:19:30345ブラウズ

How to Avoid Stepping into Assembly Code while Debugging Go Programs in GoClipse?

アセンブリ コードを使用した 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」に設定して実際の G​​o main 関数で停止するか、単にオプションのチェックを外します。

あるいは、デバッガーが内部ランタイムの「main」関数で停止する場合は、次のことができます。 「実行/再開」(F8) をクリックして実行を続行します。これにより、Go コードをステップ実行し、期待どおりにデバッグできるようになります。

以上がGoClipse で Go プログラムをデバッグする際にアセンブリ コードへのステップインを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。