アセンブリ コードを使用した 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 コードをステップ実行し、期待どおりにデバッグできるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3