[lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
Greg Clayton via lldb-dev
lldb-dev at lists.llvm.org
Wed Nov 1 09:49:28 PDT 2017
When you use process launch and a lldb-server in "platform" mode, it will try to launch an lldb-server in gdbserver mode for you. So you will need to debug the "qLaunchGDBServer" packet. It will spawn a "lldb-server" in gdb remote mode, have it bind to port zero and report back the port that it actually bound to, so we can then attach the the GDB server from the host computer.
> On Oct 31, 2017, at 11:42 PM, cuibixiong <cuibixiong at gmail.com> wrote:
>
> Hi
>
> I don’t launch lldb-server which already debugging a program, just use "lldb-server platform —listen *:3333 —server” on Qemu armhf for Debian 6.0
>
> Best Regards
> —cuibixiong
>
> 发件人: Greg Clayton <clayborg at gmail.com <mailto:clayborg at gmail.com>>
> 日期: 2017年10月31日 星期二 23:15
> 至: Tatyana Krasnukha <Tatyana.Krasnukha at synopsys.com <mailto:Tatyana.Krasnukha at synopsys.com>>
> 抄送: cuibixiong <cuibixiong at gmail.com <mailto:cuibixiong at gmail.com>>, "lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>" <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>>
> 主题: Re: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
>
> If you are launching your lldb-server and it is already debugging a program you don't use "process launch", you use "process attach" if you are connected to your platform.
>
> It isn't recommended to use "remote-gdb-server" platform directly. "remote-linux" uses "remote-gdb-server" underneath it, but it also overrides a bunch of other platform functions that you need in order to debug correctly. So use "remote-linux".
>
>
>
>> On Oct 28, 2017, at 3:15 AM, Tatyana Krasnukha via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>>
>> I guess 2 ways of remote debugging:
>> “remote-linux” platform with process attach instead of process launch
>> “remote-gdb-server” platform with process launch.
>> As I understood, both of them use lldb-server.
>>
>> To execute tests remotely you may run dotest.py with according options (platform-name and platfrom-url).
>>
>> As for openocd and other gdb servers, there is no way to use them for remote testing. I haven’t found, at least.
>>
>> Thanks,
>> Tatyana
>>
>> From: cuibixiong [mailto:cuibixiong at gmail.com <mailto:cuibixiong at gmail.com>]
>> Sent: Saturday, 28 October, 2017 12:40 PM
>> To: Tatyana Krasnukha <Tatyana.Krasnukha at synopsys.com <mailto:Tatyana.Krasnukha at synopsys.com>>
>> Cc: lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>> Subject: Re: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
>>
>> Hi
>>
>> You mean should use “platform select remote-linux” ? I use it but also report error: unable to launch a GDB server on 'debian-armhf.""'
>>
>> in-addition, you said gdb-server is “GNU GDB server” or just lldb-server services ?
>>
>> Best Regards
>> —cuibixiong
>>
>> 发件人: Tatyana Krasnukha <Tatyana.Krasnukha at synopsys.com <mailto:Tatyana.Krasnukha at synopsys.com>>
>> 日期: 2017年10月27日 星期五 21:53
>> 至: cuibixiong <cuibixiong at gmail.com <mailto:cuibixiong at gmail.com>>
>> 抄送: "lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>" <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>>
>> 主题: RE: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
>>
>> It seems that ‘process launch’ tries to launch gdb-server that is already started manually, try to attach instead.
>>
>> I also met ‘remote-gdb-server’ platform, maybe it fits your goal better? Didn’t you try to do something like this?
>> dotest.py --platform-name=remote-gdb-server --platfrom-url=connect://hostname:port <connect://hostname:port> --arch=architecture ...
>>
>> From: lldb-dev [mailto:lldb-dev-bounces at lists.llvm.org <mailto:lldb-dev-bounces at lists.llvm.org>] On Behalf Of cui bixiong via lldb-dev
>> Sent: Friday, 27 October, 2017 9:41 AM
>> To: Greg Clayton <clayborg at gmail.com <mailto:clayborg at gmail.com>>
>> Cc: lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>>
>> Subject: Re: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
>>
>> Hi :
>>
>> I build a armhf qemu enviroment to test ARM lldb + lldb-server testsuite. source code base on LLVM + LLDB + LLD + CLANG formal release 5.0.0.
>>
>> Target: lldb-server platform --listen *:3333 --server
>>
>> Host :
>>
>> (lldb) platform select remote-linux
>> Platform: remote-linux
>> Connected: no
>> (lldb) platform connect connect://0.0.0.0:3333 <https://urldefense.proofpoint.com/v2/url?u=http-3A__0.0.0.0-3A3333&d=DwMFaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=yfnu24japkhNGh-WqJObHXmH3mINtC_2FO828lrNpM0&m=uN6_uN-vbhkIBUYfgaia_IIUZ-KsQTwmy_orALFBdnw&s=gG9WkTsbhG3Ylm1kB0uyHUObWovqkIKU8ax052TDtxY&e=>
>> Platform: remote-linux
>> Triple: arm-*-linux-gnueabihf
>> OS Version: 3.2.0 (3.2.0-4-vexpress)
>> Kernel: #1 SMP Debian 3.2.51-1
>> Hostname: debian-armhf.""
>> Connected: yes
>> WorkingDir: /root
>> (lldb) file ./hello.exe
>> Current executable set to './hello.exe' (arm).
>> (lldb) log enable gdb-remote packets
>> (lldb) process launch
>> history[1] tid=0x6192 < 1> send packet: +
>> history[2] tid=0x6192 < 19> send packet: $QStartNoAckMode#b0
>> history[3] tid=0x6192 < 1> read packet: +
>> history[4] tid=0x6192 < 6> read packet: $OK#9a
>> history[5] tid=0x6192 < 1> send packet: +
>> history[6] tid=0x6192 < 13> send packet: $qHostInfo#9b
>> history[7] tid=0x6192 < 297> read packet: $triple:61726d2d2d6c696e75782d676e75656162696866;ptrsize:4;distribution_id:64656269616e;watchpoint_exceptions_received:before;endian:little;os_version:3.2.0;os_build:332e322e302d342d7665787072657373;os_kernel:233120534d502044656269616e20332e322e35312d31;hostname:64656269616e2d61726d68662e2222;#1a
>> history[8] tid=0x6192 < 18> send packet: $qGetWorkingDir#91
>> history[9] tid=0x6192 < 14> read packet: $2f726f6f74#a4
>> history[10] tid=0x6192 < 19> send packet: $qQueryGDBServer#cb
>> history[11] tid=0x6192 < 7> read packet: $E04#a9
>> history[12] tid=0x6192 < 73> send packet: $qModuleInfo:2e2f68656c6c6f2e657865;61726d2d2d6c696e75782d656162696866#b7
>> history[13] tid=0x6192 < 7> read packet: $E03#a8
>> history[14] tid=0x6192 < 69> send packet: $qModuleInfo:6c6962632e736f2e36;61726d2d2d6c696e75782d656162696866#7b
>> history[15] tid=0x6192 < 7> read packet: $E03#a8
>> < 36> send packet: $qLaunchGDBServer;host:mtkslt202;#b1
>> error: unable to launch a GDB server on 'debian-armhf.""'
>>
>> i show host and port is uncorrect, is it a bug?
>>
>>
>> Best Regards
>> --cuibixiong
>>
>> On Tue, Oct 24, 2017 at 11:04 PM, Greg Clayton <clayborg at gmail.com <mailto:clayborg at gmail.com>> wrote:
>>>
>>>> On Oct 24, 2017, at 12:02 AM, cui bixiong <cuibixiong at gmail.com <mailto:cuibixiong at gmail.com>> wrote:
>>>>
>>>> Hi
>>>>
>>>> sorry, i'm confuse, in my mind, lldb-server maybe like gdb-server, running on Linux-like platform listening RSP command which send form gdb and use ptrace syscall to debug which you want to debug program
>>>>
>>>> is it support remote download to batch mode run all testsuite? certainly i think reset baseboard is very important feature too, but in lldb-server maybe not support currently i guess.
>>>
>>> Yes lldb-server does support a full connection to a remote OS. On baseboards you are typically debugging the entire OS so lldb-server won't work because you have to OS to run it in the background. Supporting the test suite on baseboards will take some effort.
>>>>
>>>> Best Regards
>>>> --cuibixiong
>>>>
>>>> On Mon, Oct 23, 2017 at 11:06 PM, Greg Clayton <clayborg at gmail.com <mailto:clayborg at gmail.com>> wrote:
>>>>>
>>>>> > On Oct 22, 2017, at 6:21 AM, cuibixiong via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>>>>> >
>>>>> > Hi
>>>>> >
>>>>> > did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
>>>>>
>>>>> We run the test suite on iOS devices using the platform stuff. This requires a running lldb-server on the remote system, so we only have the test suite running when we have the lldb-server running in platform mode on the other side. For this to work with baseboards, we would need the JTAG box to respond to many GDB remote protocol packets that "lldb-server platform" implements. I am sure for baseboards the test suite would need to be modified. A few ideas there:
>>>>> - Have the test suite watch for a triple with no os (like "arm64-none-none") and have it go into a baseboard mode
>>>>> - Many tests that might rely on writing to files, reading from files for stdin, and others, would need to be skipped in this mode
>>>>> - Any tests that build and debug shared libraries would either need to be modified to build multiple static binaries or skipped
>>>>> - We might need to make a Bareboard platform and would load the ELF files into memory instead of copying them over like the current platforms do
>>>>>
>>>>> So there would be quite a lot of modifications required to get the test suite running. We will be happy to help you if you choose to try this.
>>>>>
>>>>> Greg Clayton
>>>>>
>>>>> >
>>>>> > Best Regards
>>>>> > —cuibixiong
>>>>> > _______________________________________________
>>>>> > lldb-dev mailing list
>>>>> > lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>>>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_lldb-2Ddev&d=DwMFaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=yfnu24japkhNGh-WqJObHXmH3mINtC_2FO828lrNpM0&m=uN6_uN-vbhkIBUYfgaia_IIUZ-KsQTwmy_orALFBdnw&s=XumZaATwR447RuANlMXxfm7a3f09ZfjC48JPk393PvE&e=>
>>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20171101/13da680a/attachment-0001.html>
More information about the lldb-dev
mailing list