ホームページ  >  記事  >  バックエンド開発  >  GoClipse で Go プログラムをデバッグする方法: デバッガーでアセンブリ コードを処理する?

GoClipse で Go プログラムをデバッグする方法: デバッガーでアセンブリ コードを処理する?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-24 03:32:31333ブラウズ

How to Debug Go Programs in GoClipse: Handling Assembly Code in the Debugger?

GoClipse を使用して Go プログラムをデバッグする方法: アセンブリ コードのデバッグ

GoClipse を使用して Go プログラムをデバッグすると、デバッガーのステップで予期しない動作が発生する可能性がありますGo コードの代わりにアセンブリ コードを使用します。この問題は、デバッグ ビューに次のようなスタック トレースが表示されることが原因で発生する可能性があります。

Thread [1] 0 (Suspended : Breakpoint)   
    main() at rt0_windows_amd64.s:15 0x42a400   
    KERNEL32!BaseThreadInitThunk() at 0x773259ed    
    0x0 

原因:

この現象は、プログラムが次の時点で自動的に停止するときに発生します。起動時の内部ランタイム「main」関数。この関数は C で書かれており、ソース コードが不足しているため、デバッガーにアセンブリ コードが表示されます。

解決策:

この問題を解決するには:

  1. 起動構成オプションで、最初のオプションを見つけます。
  2. 実際の G​​o メインで停止するには、それを「main.main」に変更します。
  3. または、オプションのチェックを外して自動を無効にします

これが完了したら、[実行/再開] (F8) をクリックしてデバッグを続行できます。デバッガーはアセンブリ コードではなく Go コードをステップ実行するようになります。これらの手順に従うことで、この潜在的な問題に遭遇することなく Go プログラムを効率的にデバッグできます。

以上がGoClipse で Go プログラムをデバッグする方法: デバッガーでアセンブリ コードを処理する?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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