Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Unable to fetch getLineNumber/Addr2line object using

Hi All,

I am unable to fetch getLineNumber  of any symbol obtained using and, I executed as following :

ElfBinaryObject elfBinaryObject = (ElfBinaryObject) elfParser.createBinaryObject(path);
ISymbol[] symbols = elfBinaryObject.getSymbols();
for(int i = 0; i< symbols.length ; i++){
System.out.println("Line : " + symbols[i].getLineNumber(<some offset value>) + "-- ");

it always returns -1.

I have checked the code, there they internally returning the value as -1 only.
       //public void getElfBinaryObject
* (non-Javadoc)
* @see org.eclipse.cdt.core.IBinaryParser.ISymbol#getLineNumber(long)
public int getLineNumber(long offset) {
return -1;

We can achieve the line number by modifying the above code as follows :

public int getLineNumber(long offset) {
int line = -1;
try {
Addr2line addr2line = (Addr2line) binaryObj.getAddressFactory();   // This doesn't work..... 
if (addr2line != null) {
line = addr2line.getLineNumber(addr.add(offset));
} catch (IOException e){
return line;

But for this we doesn't have any way to fetch Addr2Line using or or the property IAddressFactory.

Please tell how to achieve to find Addr2line object or getLineNumber , as we do in
I am working in Windows OS , using Java API's. Please tell me if any patch related to it is been released so far or any other solution for this.

Thanks & Regards,

Back to the top