We probably should add some new packets to discover then via GDB remote packets kind of like the qRegisterInfo packets...
> On Aug 22, 2014, at 4:04 PM, Todd Fiala <tfi...@google.com> wrote: > > Ok looks like I'm not getting ProcessGDBRemote's concept of UnixSignals > correct for Linux on the lldb-launch, llgs-attach mode for local debugging. > This is causing mismatches in signal numbers --- LinuxSignals differ in some > important ways from the default UnixSignals. > > > On Fri, Aug 22, 2014 at 3:13 PM, Todd Fiala <tfi...@google.com> wrote: > > > > On Fri, Aug 22, 2014 at 2:59 PM, Todd Fiala <tfi...@google.com> wrote: > Hey Greg, > > Where is the code in lldb that does the final 'resume' when we get the > inferior stopped at the entry point with eLaunchFlagDebug? > > I've got my local Linux debugging working with llgs with a band-aid fix to > address the race condition, but I do consistently stop at the entry point to > the program (the exec stop for the final exec into the true inferior process). > > Another symptom I'm seeing (maybe it is related) is that lldb doesn't seem to > know what the target is. IOW, I see this kind of behavior: > > tfiala@tfiala2:/mnt/ssd/work/macosx.sync/mp-git/build-debug$ bin/lldb -- > ~/play/loops/loops > (lldb) target create "/usr/local/google/home/tfiala/play/loops/loops" > Current executable set to '/usr/local/google/home/tfiala/play/loops/loops' > (x86_64). > (lldb) run > Process 20363 launched: '/usr/local/google/home/tfiala/play/loops/loops' > (x86_64) > Process 20363 stopped > * thread #1: tid = 20363, 0x00007f9b806f02d0, name = 'loops', stop reason = > exec > frame #0: 0x00007f9b806f02d0 > -> 0x7f9b806f02d0: movq %rsp, %rdi > 0x7f9b806f02d3: callq 0x7f9b806f3a70 > 0x7f9b806f02d8: movq %rax, %r12 > 0x7f9b806f02db: movl 0x221b17(%rip), %eax > > // ^= here you see the behavior where I stop at the final exec (as I'd expect > at the private level, but I'd expect lldb to want to continue it at the > public level). > > (lldb) c > Process 20363 resuming > i = 0 > i = 1 > i = 2 > i = 3 > i = 4 > i = 5 > i = 6 > i = 7 > i = 8 > i = 9 > Process 20363 exited with status = 0 (0x00000000) > (lldb) run > error: no file in target, create a debug target using the 'target create' > command > > // ^= Huh? I should be able to re-run :-) > > (lldb) > > On this part, I think I may not be clearing out everything that needs to be > cleared out on an exec. I'm going to trace what debugserver/lldb does on > MacOSX when an exec is detected to see if I'm missing anything on the Linux > llgs/lldb side. > > > -- > Todd Fiala | Software Engineer | tfi...@google.com | 650-943-3180 > > > > > -- > Todd Fiala | Software Engineer | tfi...@google.com | 650-943-3180 > > > > > -- > Todd Fiala | Software Engineer | tfi...@google.com | 650-943-3180 > _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev