7

リモート GDB を使用して組み込みプロジェクトをデバッグしようとしています。私のシステム:

  • ターゲット: ARM Cortex M0。
  • SEGGER J-Link GDB サーバー V6.10 コマンド ライン バージョン
  • アーム-なし-eabi-gdb 7.10.1.20160616-cvs
  • CLion 2016.2.2、ビルド #CL-162.1967.7
  • Ubuntu 16.04

私の .gdbinit ファイルには次のものがあります。

target remote localhost:2331 #(I remove this line when debugging with CLion)
set verbose on
file "/path_to_output_file/blinky.elf"
monitor reset
break main

何日も私を悩ませてきたのは、端末から直接 gdb を使用してデバッグすると問題なく動作するが、CLion でデバッガーを使用するとうまくいかないことです。CLion では、次のエラーが表示されます。

「モニター」コマンドは、このターゲットではサポートされていません。

私の理論では、端末は「モニターリセット」コマンドを受け入れるというものです(少なくとも文句はありません)。一方、CLion はエラーを出力しますが、リセットを行わずにその後に進むように見えます。その結果、CLion で新しいデバッグ セッションを開始すると、main() の先頭から開始しないようです。

CLion は監視コマンドをブロックしていますか? もしそうなら、なぜですか、そして回避策はありますか?

私の質問はCPP-7322およびCPP-7256に関連している可能性があると感じています。

4

2 に答える 2

1

まったく同じ問題を探していると、CLion で JLink デバッガーをセットアップするための優れたステップバイステップ ガイドがあるこのGitHub プロジェクトに出くわしました。私を本当に助けてくれたのは.gdbinit、ユーザーのホーム ディレクトリに を生成するスクリプトです。

file /firmware.elfこれは、デバッグ セッションの起動時に CLion によって処理されるため、コマンドを追加する必要はありません。一方、loadターゲットをフラッシュするにはコマンドが必要です。

于 2018-08-31T18:43:10.743 に答える