Here it is. On 27/07/2015 07:53 μμ, Bill Williams wrote:
On 07/27/2015 11:41 AM, Ioannis Konstadelias wrote:Sorry,My bad. I should've tell you. I've also tried includeUninstrumentable = true but the results were the same.That seems fishy. Mind sending me the mutatee binary?On 27/07/2015 07:01 μμ, Bill Williams wrote:On 07/25/2015 11:44 AM, Ioannis Konstadelias wrote: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 themanuals (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 forfunction 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 functionnames in the module, the search is repeated as if name is a mangledfunction name. If this second search succeeds, functions with mangled names matching name are returned instead.]*"*/ shouldn't it be working?It should, but very small functions are not always marked as instrumentable (which in practice means instrumentable without using traps). Try findFunction with includeUninstrumentable = true, and let me know if that works.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
-- Konstantelias Ioannis Undergraduate at Department of Electrical and Computer Engineering University of Thessaly, Greece
hello
Description: Binary data
_______________________________________________ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api