On Jun 22, 2010, at 7:01 PM, Eli Friedman wrote: > With a few hacks and some Makefiles, I have lldb running on Linux > (I'll contribute them once I have a couple more things taken care of).
Great! > However, when I try using it, I get the following not-so-useful > results on the attached ELF-32 file: > > e...@eli-laptop:~/llvmgbuild/tools/lldb$ ~/llvmgbuild/Release/bin/lldb > (lldb) file /tmp/a > Current executable set to '/tmp/a' (x86_64). This has to do with the default architecture that is currently being set. We will need to set the following macros correctly for linux: LLDB_ARCH_DEFAULT LLDB_ARCH_DEFAULT_32BIT LLDB_ARCH_DEFAULT_64BIT These don't make as much sense in linux as they do on Mac OS X. In Mac OS X we can run either 32 or 64 bit versions of apps on the same OS install if it is 64 bit capable (85% of our Intel machines are 64 bit capable). So we probably want to set the LLDB_ARCH_DEFAULT defines correctly for the current linux host OS with #ifdefs. This will then mean that you won't have to set the architecture unless you are doing cross debugging. > (lldb) disassemble -n main > (lldb) quit > Segmentation fault > > The segfault is probably an issue in my own code, but I'm sort of > suprised the attempted disassembly leads to no output. Any ideas? We do currently have two ReadMemory calls: Target::ReadMemory(...) Process::ReadMemory(...) The Target version should be able to read memory from constant sections in executable files when we aren't running, I just need to hook it up (read the section contents from the file instead of from live memory). It shouldn't take long, I will try and get to this today as this feature is quite useful. The rules are simple for ReadMemory: - use the target if you know your memory might come from a constant section, or you would like us to try and read from the constant sections to avoid a ton of packets going to/from your Process plug-in. - use the Process version if you want to read from the inferior process and skip the constant section caches. _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
