Gdb function entry point unknown

I am using a vendor API that has my sources, I can set breakpoints and they hit well, but if I try to call a function (by its name) in gdb, it says "The entry point address is unknown." does this mean and is there any workaround? I tried googling but didn't find anything useful. Thanks a lot for any help. The next step I think is to get the address of the function using objdump and then try to call with the address directly if it works. But I don't know exactly how to do this, please guide me here, the vendor library is dynamically linked to my own program.

EDIT 1: After executing the function "info address" "I tried to call" call (* "address") (params) ", yet it shows the same error, please note that it knows about the address of the functions.

+3


source to share


1 answer


It's unclear!

When a downstream call is made, gdb has several options to accommodate the generated frame. In your case, it picks the "entry point" - basically (I think) the memory in _start, which is executed once and then never used again. This choice seems to be architecture specific.



In your case, gdb cannot find the entry point. This can happen if you have never used the "file" command, or if you are debugging an .o file and not a real executable file, but it seems to happen in some other more obscure scenarios.

+1


source







All Articles