2016-03-29 17 views
0

opencd/jtagボードでlldbを使用しようとしていますが、問題があります。 L0 STMicroelectronicsボード上で開発するためにgdbでopenocdを使用していて、完全に動作します。 今、私はlldbでも同じことが欲しいです。"openocdとJTAGボード"でLLDBをセットアップする方法

しかし、今、私ドン:私は正しく "TCP/5557上で受け入れて 'GDB' 接続情報" を参照してください

私はopenocd/GDBサーバ側でLLDBホスト側の

$ lldb bin/token.elf 
(lldb) target create "bin/token.elf" 
Current executable set to 'bin/token.elf' (arm). 
(lldb) platform select remote-gdb-server 
    Platform: remote-gdb-server 
    Connected: no 
(lldb) platform connect connect://localhost:5557 
    Platform: remote-gdb-server 
    Hostname: (null) 
    Connected: yes 
(lldb) target list 
Current targets: 
* target #0: /home/cme/Projects/Tacos/ledger/trunk/se/build/st31_bolos/bin/token.elf (arch=arm-unknown-unknown, platform=host) 

こと「Tは継続する方法が見つかりました:

(lldb) process launch 
error: process launch failed: Child exec failed. 

私はまた、 『プロセスが継続する』試みたが、何も処理

はありませんlldb不平を言います10

gdbの場合、プロセスはすでに実行中であるとみなされ、reset/continueコマンドを使用しますが、 'run'コマンドは使用しません。

誰かがopendb/jtag gdb-serverでlldbを使用する方法を知っていますか?

ご協力ありがとうございました

C/M

答えて

1

私たちが研究していたものから、余分なコードを書くことなく、リモート(ベアメタル!)ターゲットをlldbでデバッグすることはできません。

基本機能の場合、lldbは少なくとも1つのスレッドコンテキストを認識する必要があります。 gdbの場合も同じです。しかし、gdbには、リモートシステム上の既存のスレッドを偽装して実装したある種のスタブがあります。 [1]

lldbメーリングリスト[2]の会話からの回答は、 にコンパイルされます。lldbで動作するリモートベアメタルを取得するには、(python)コードを書く必要があります。

[1] https://github.com/bminor/binutils-gdb/blob/28170b88cc8b40fdea2b065dafe6e1872a47ee4e/gdb/remote.c#L1808

[2] http://comments.gmane.org/gmane.comp.debugging.lldb.devel/3405

関連する問題