<div dir="ltr"><div>Hey, Thank you very much for the quick response. :)</div><div>I've built the doxygen for llvm last night, I hope it can help me understanding the inner workings.</div><div><br></div><div>Expect me to return soon after I've read the code and try to use LLVM's PDB API.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 16 May 2019 at 06:54, Zachary Turner <<a href="mailto:divisortheory@gmail.com">divisortheory@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I'd start with reading the documentation about PDB file format, described here: 

<a href="https://llvm.org/docs/PDB/index.html" target="_blank">https://llvm.org/docs/PDB/index.html</a><div><br></div><div>There's a lot there, but if you want to interpret the contents on your own (even using LLVM's PDB libraries to do the low level work) you're going to need to understand it.</div><div><br></div><div>Once you have a basic understanding of what goes into a PDB file and how it's organized, LLVM's PDB APIs should (hopefully) be fairly self-explanatory and you can read the code of llvm-pdbutil to see how it does various things, which you can copy.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 15, 2019 at 4:35 PM Reid Kleckner <<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I would say that llvm-pdbutil mainly exists to dump PDBs as human readable text, and to translate them to and from YAML. As far as interpreting the contents of the PDB to do something useful, like produce a stack trace, goes, the consumer of LLVM's PDB reading libraries is responsible for doing that. For example, LLDB at some point will likely implement stack unwinding with unwind data from PDBs.<div><br></div><div>I don't think we have any existing documentation or references for coding against the LLVM native PDB reading APIs, but you can look at the code in LLDB to get an idea for how it can be done.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><strong>From: </strong>Experian Elitiawan via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span><br><strong>Date: </strong>Tue, May 14, 2019 at 6:55 PM<br><strong>To: </strong> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello,<br></div><div>I'm trying to parse debug information out of PDB files that's created by visual studio, and also maybe producing stacktrace on linux.</div><div>Does anyone has leads to how I can do that with LLVM's pdbutil? Or point me to a documentation about that?</div><div><br></div><div>Thanks.</div><div><br></div><div>Experian<br></div><div><br>

</div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>