fwiw I had to prototype a new LC_NOTE load command a year ago in Mach-O core files, to specify where the kernel binary was located. I wrote a utility to add the data to an existing corefile - both load command and payload - and it was only about five hundred lines of C++. I didn't link against anything but libc, it's such a simple task I didn't sweat trying to find an object-file-reader/writer library. ELF may be more complicated though.
> On Jun 13, 2018, at 2:51 PM, Zachary Turner via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > What about the case where you already have a Unix core file and you aren't in > a debugger but just want to convert it? It seems like we could have a > standalone utility that did that (one could imagine doing the reverse too). > I'm wondering if it wouldn't be possible to do this as a library or something > that didn't have any dependencies on LLDB, that way a standalone tool could > link against this library, and so could LLDB. I think this would improve its > usefulness quite a bit. > > On Wed, Jun 13, 2018 at 2:42 PM Greg Clayton <clayb...@gmail.com> wrote: > The goal is to take a live process (regular process just stopped, or a core > file) and run "save_minidump ..." as a command and export a minidump file > that can be sent elsewhere. Unix core files are too large to always send and > they are less useful if they are not examined in the machine that they were > produced on. So LLDB gives us the connection to the live process, and we can > then create a minidump file. I am going to create a python module that can do > this for us. > > Greg > > >> On Jun 13, 2018, at 2:29 PM, Zachary Turner via lldb-dev >> <lldb-dev@lists.llvm.org> wrote: >> >> Also, if the goal is to have this upstream somewhere, it would be nice to >> have a tool this be a standalone tool. This seems like something that you >> shouldn't be required to start up a debugger to do, and probably doesn't >> have many (or any for that matters) on the rest of LLDB. >> >> On Wed, Jun 13, 2018 at 1:58 PM Leonard Mosescu <mose...@google.com> wrote: >> That being said, it's not exactly trivial to produce a good minidump. >> Crashpad has a native & cross-platform minidump writer, that's what I'd >> start with. >> >> Addendum: I realized after sending the email that if the goal is to convert >> core files -> LLDB -> minidump a lot of the complexity found in Crashpad can >> be avoided, so perhaps writing an LLDB minidump writer from scratch would >> not be too bad. >> >> On Wed, Jun 13, 2018 at 1:50 PM, Leonard Mosescu <mose...@google.com> wrote: >> The minidump format is more or less documented in MSDN. >> >> That being said, it's not exactly trivial to produce a good minidump. >> Crashpad has a native & cross-platform minidump writer, that's what I'd >> start with. >> >> On Wed, Jun 13, 2018 at 1:38 PM, Adrian McCarthy via lldb-dev >> <lldb-dev@lists.llvm.org> wrote: >> Zach's right. On Windows, lldb can produce a minidump, but it just calls >> out to a Microsoft library to do so. We don't have any platform-agnostic >> code for producing a minidump. >> >> I've also pinged another Googler who I know might be interested in >> converting between minidumps and core files (the opposite direction) to see >> if he has any additional info. I don't think he's on lldb-dev, though, so >> I'll act as a relay if necessary. >> >> On Wed, Jun 13, 2018 at 12:07 PM, Zachary Turner via lldb-dev >> <lldb-dev@lists.llvm.org> wrote: >> We can’t produce them, but you should check out the source code of google >> breakpad / crashpad which can. >> >> That said it’s a pretty simple format, there may be enough in our consumer >> code that should allow you to produce them >> >> >> _______________________________________________ >> lldb-dev mailing list >> lldb-dev@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >> >> >> >> _______________________________________________ >> lldb-dev mailing list >> lldb-dev@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >> >> >> >> _______________________________________________ >> lldb-dev mailing list >> lldb-dev@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev