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

DDD
リリース: 2024-10-24 05:25:02
オリジナル
924 人が閲覧しました

How to Debug Go Programs with GoClipse: Assembly Code vs. Go Code?

GoClipse を使用した Go プログラムのデバッグ: アセンブリ コードと Go コード

GoClipse を使用して Go プログラムをデバッグすると、次のような状況が発生することがあります。デバッガーは、ブレークポイントを設定した後でも、Go コードではなくアセンブリ コードをステップ実行します。これは通常、起動構成オプションの不適切な設定が原因で発生します。

デバッグ ビューについて

デバッグ中に Go プログラムが停止すると、Eclipse のデバッグ ビューが表示されます。スタックトレース。次のような場合:

<code class="text">Thread [1] 0 (Suspended : Breakpoint)   
main() at rt0_windows_amd64.s:15 0x42a400   
KERNEL32!BaseThreadInitThunk() at 0x773259ed    
0x0 </code>
ログイン後にコピー

これは、プログラムが起動時に「main」関数で自動的に停止したことを示します。ただし、これは Go の「メイン」関数ではなく、C で記述された内部ランタイムの「メイン」関数です。

問題の解決

この問題を解決するには、次のようにします。起動構成オプションを確認し、最初のオプションを見つけます。 「Default main() (runtime/rt0_*)」または「main.main() (source code entry point)」またはそれに類似したものと表示される場合があります。

「Default main() (runtime)」に設定されている場合/rt0_*)」を「main.main() (ソースコードエントリポイント)」に変更します。あるいは、単純にオプションのチェックを外すこともできます。

必要な変更を加えたら、[実行 / 再開] (F8) をクリックしてデバッグを続行します。デバッガーは、アセンブリ コードではなく Go コードをステップ実行するようになります。

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!