Golang ベースのアプリケーションの IDE として Visual Studio Code を使用しています。アプリケーションは Linux ターゲット上で実行されます。このクロスコンパイルされたバイナリに VSC デバッガーをアタッチしたいと考えています。バイナリは、arm または x86 プラットフォーム用にコンパイルできます。 launch.json ファイルでこれを実現できることは知っていますが、使用したことはありません。助けてください。
Debuggerdlvはgoコードをデバッグするために使用されます。 Delve または dlv には、64 ビット アーキテクチャのバイナリにのみ追加できるという制限があります。そこで、64 ビット amd アーキテクチャ用のコードをコンパイルし、Linux ボックスで実行しました。次に、バイナリのプロセス ID を取得し、ドリルダウンを添付しました。 Delve サーバーにはポート 2345
を使用しましたdlv some_process_id を添付 --listen=:2345 --headless --api-version=2 --log
sudo 権限を使用して Linux ターゲットのデバッグ レベルを有効化/変更する必要がある場合もあります。
cat 0 > /proc/sys/kernel/yama/ptrace_scope
次の設定を使用して、Visual Studio Code IDE で launch.json を作成します。 リーリー
Windows マシンから Visual Studio を実行しているため、リモート Linux ターゲットにはリモート モードを選択します。Visual Studio Code からデバッガーを実行すると、launch.json の設定によってターゲット上の dlv デバッガー/サーバーが検索され、それにアタッチされます。コード内にブレークポイントをいくつか配置します。できれば外部からトリガーできる場所に配置します。例えば。クライアント呼び出しからトリガーできるサーバー上の呼び出しを受け入れます。
以上がVisual Studio Code IDE を使用してデバッグするために、クロスコンパイルされた go バイナリにアタッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。