Hi everyone,
first of all I use the latest version of dyninstAPI (git head).
I was experimenting with the mutator program of the Appendix A from the
manuals (not the re-tee one),
and tried the custom really simple mutatee program below:
#include <stdio.h>
int foo() {return 1;}
int main(void)
{
puts("Hello, world!");
foo();
return 0;
}
I added the counter snippet for main and it worked. But never worked for
function foo. The error I took was:
Reading symbols from ./func_instr...done.
(gdb) run
Starting program: /home/gon1332/Training/Dyninst/func_instr
Traceback (most recent call last):
File
"/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py",
line 63, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff46af700 (LWP 23032)]
[New Thread 0x7ffff3eae700 (LWP 23033)]
[New Thread 0x7ffff34a4700 (LWP 23034)]
*--SERIOUS-- #100: Image: Unable to find function: foo*
Program received signal SIGSEGV, Segmentation fault.
0x00000000004018c7 in findEntryPoint (app=0x63c100) at func_instr.cc:50
50 points = functions[0]->findPoint(BPatch_entry);
(gdb) q
A debugging session is active.
Inferior 1 [process 23027] will be killed.
I tried nm and the foo function was there mangled:
➜ Dyninst nm hello | grep foo
000000000040057d T _Z3foov
but according to your note about findFunction:
/*"*[NOTE: If name is not found to match any demangled function
names in the module, the search is repeated as if name is a mangled
function name. If this second search succeeds, functions with
mangled names matching name are returned instead.]*"*/
shouldn't it be working?
Should I demangle (or mangle) it by myshelf and then search?
Thanks,
Ioannis Konstantelias,
Undergraduate at University of Thessaly
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api