2017-10-06 18 views
1

リモートマシン(sshポート転送経由)で実行されるリモートgdbserverに接続するためにCLionを使用しています。私はgdbserverに接続gdbリモートデバッグキャッシュリモートターゲット

I'tは一つのことを除いて、非常にうまく機能し、それがリンクされているすべての依存関係をダウンロードするたびに

enter image description here

だから、私は見つけることができませんでし渡すための任意のフラグがありますそのようなファイルをキャッシュするにはgdb remoteにある。

答えて

1

問題がlibsをキャッシュしていないのに実際にGDB起動プロセスを高速化している場合は、solib-absolute-prefixをあなたの場所に設定できますすべての共有ライブラリを含むホスト。 ホスト上のターゲットにnfsマウント環境を使用している場合。 solib-absolute-prefixを使用すると、共有ライブラリのパスをnfsホストの場所に設定できるので、セッションを開始するたびにネットワーク経由で取得することはできません。

+0

私はマウントされたディレクトリとしてsshfsを使用しています。そこで、set sysroot(set solib-absolute-prefixコマンドはset sysrootのエイリアスです)をマウントされたフォルダに指定すると、nfs/sshfsのキャッシュプロセスを高速化することができます。なぜ私は毎回検索しないのですか? –

+0

あなたのターゲットではなくあなたのホストからライブラリを読み込むほうが速く、nfsフォルダを使うことで、ホストとターゲットが同じ場所を使ってロードしているので、Tom Tromeyの下線を引いて潜在的な同期の問題を取り除くlibs。 –

+0

sshfsは 'transform_symlinks'で間違いなくトリックを行います。ありがとう! –

1

これを行うための組み込み方法はありません。

すべての必要なファイルを一度コピーしてから、set sysrootを使用して手動で行うことができます。しかし、それは何かが変わるたびに同期することを覚えておく必要があるので、エラーが起こりやすいです。

もう1つの考え方は、リモートファイルシステムをキャッシュすることです。 (しかし、これを行う缶詰があるかどうかは分かりません)