[llvm-dev] gdb debug llvm pass
John Criswell via llvm-dev
llvm-dev at lists.llvm.org
Mon Jul 11 07:47:07 PDT 2016
On 7/11/16 8:46 AM, 李阳 via llvm-dev wrote:
> Hi all,
>
> Since my pass doesn't work right, I follow the guide [Writing an LLVM
> Pass: Using GDB with dynamically loaded passes] to debug my pass.
>
> However, I succeed to meet the step: the *opt* stops in the
> PassManager::run method, I have no idea about setting breakpoints in
> my pass.These section is not detailed. Could anyone spare some guide?
This part of the document assumes that you are familiar with using gdb
to set breakpoints; it's really there just to describe the less-obvious
solution of setting breakpoints in dynamically loaded code.
According to the document, once you hit a breakpoint in
PassManager::run, you can then set a break point for a method or
function in your pass. For example, if your pass is named llvm::MyPass,
then you can use:
break llvm::MyPass::runOnModule
... to set up a break point in your pass's runOnModule() method. To get
opt running again so that it will eventually run your pass and hit the
breakpoint, use the continue command:
continue
For more information on how to use gdb, see the documentation for gdb at
https://www.gnu.org/software/gdb/.
Regards,
John Criswell
>
> Thanks very much!
>
> Best,
> liyang
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160711/5b5f6f7d/attachment.html>
More information about the llvm-dev
mailing list