ホームページ  >  記事  >  バックエンド開発  >  GoClipse でデバッグすると、Go コードではなくアセンブリ コードが表示されるのはなぜですか?

GoClipse でデバッグすると、Go コードではなくアセンブリ コードが表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 22:49:30645ブラウズ

Why Am I Seeing Assembly Code Instead of Go Code When Debugging with GoClipse?

GoClipse を使用した Go プログラムのデバッグ: Go コードではなくアセンブラー コードの問題

GoClipse を使用して Go プログラムをデバッグすると、次のような状況が発生することがあります。デバッガーは、Go プログラム行にブレークポイントが設定されている場合でも、Go コードではなくアセンブリ コードをステップ実行します。この問題は、必要な GNU デバッガー (gdb) がインストールされていない場合に発生する可能性があります。

これを解決するには、前述したように、HomeBrew を介して gdb をインストールする手順に従ってください。ただし、gdb のインストール後も同じ問題が発生する可能性があります。

デバッグ ビューの調査

この問題が発生した場合は、デバッグ ビューを確認してください。 「main」関数で始まり、macOS システムの場合は rt0_darwin_amd64.s (Windows システムの場合は rt0_windows_amd64.s) の行番号が続くスタック トレースが表示される場合、デバッガーが内部ランタイム「main」で自動的に停止したことを示します。

起動構成オプションの調整

この問題を解決するには、起動構成オプションに移動します。最初のオプションは、プログラムをこの内部「メイン」関数で停止するかどうかを制御します。これを「main.main」に変更して Go main 関数で停止することも、オプションのチェックを完全に解除してランタイムの「main」関数での自動停止を無効にすることもできます。

起動構成オプションを調整したら、アセンブリ コードをステップ実行せずに Go プログラムをデバッグできるはずです。デバッグを続行するには、[実行/再開] (F8) をクリックします。

以上がGoClipse でデバッグすると、Go コードではなくアセンブリ コードが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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