DEBUG INFO at the bytecode level

Hello,

Could I get some debug info at the byte code level? I am writing a
passer and if will be nice if I can know which line in the source an
instruction (or value) corresponds to.

I found a document online:
http://llvm.org/docs/SourceLevelDebugging.html, but I can't find an
example of doing it at the byte code level.

Cheers,
Zheng

-print-dbginfo should print the source lines, at least the one in 2.6,
the one in 2.7 seems to have the source line printing removed.

I'll add it back when I get some time.

Best regards,
--Edwin

Thanks Edwin.

I found DebugInfo.cpp may be useful. Could you tell me which function
I should call inorder to know the source file name and the line number
for a particular instruction?

Cheers,
Zheng

Thanks Edwin.

I found DebugInfo.cpp may be useful. Could you tell me which function
I should call inorder to know the source file name and the line number
for a particular instruction?

Which version of LLVM?
There was a major change between 2.6 and 2.7 so my answer depends on that.

Thanks Edwin, I will check it out.

Cheers,
Zheng

Zheng Wang wrote:

Hello,

Could I get some debug info at the byte code level? I am writing a
passer and if will be nice if I can know which line in the source an
instruction (or value) corresponds to.
  
SAFECode has an example of using debug info for LLVM 2.6 in lib/DebugInstrumentation/DebugInstrumentation.cpp. Mainline SAFECode also works with LLVM 2.7, but the debug info usage may not be working quite right yet.

-- John T.

See http://llvm.org/docs/SourceLevelDebugging.html#ccxx_frontend
At the end of "C/C++ source file information" section, there is a
small code snippet this describes how to extract this information.

Devang Patel <devang.patel <at> gmail.com> writes:

2010/5/18 Zheng Wang <jason.wangz <at> gmail.com>:
>
> I found DebugInfo.cpp may be useful. Could you tell me which function
> I should call inorder to know the source file name and the line number
> for a particular instruction?
>

See http://llvm.org/docs/SourceLevelDebugging.html#ccxx_frontend
At the end of "C/C++ source file information" section, there is a
small code snippet this describes how to extract this information.

-
Devang

Hi Devang,

I think the link you provided above is for LLVM 2.7. Is there any way to get
source line number from bitcode in LLVM 2.5/2.6?

Thanks,
Nehal.

Check out DebugInfo.cpp in lib/Analysis