|
From: Chang-Jae L. <sik...@gm...> - 2013-09-05 07:01:53
|
Hi, I am a grad-student in KAIST, and I'm working on a project for finding bugs or errors. Currently I'm following a routine from the paper "Execution Suppression: An Automated Iterative Technique for Locating Memory Errors." It is about finding the root cause of memory error(s) when a program shows a crash, by suppressing the code statement which defines that memory location and subsequent statements using the location and restart the program, until no crash happens. So what I need here is, - How can I handle target application's segmentation fault in my tool? First I ran my target with Lackey and it gets SIGSEGV, alerts to me, and returns 0, but the last thing it does is saying that it was terminated with segmentation fault. here I attached the log of Lackey. < ==16834== Lackey, an example Valgrind tool ==16834== Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote. ==16834== Using Valgrind-3.9.0.SVN and LibVEX; rerun with -h for copyright info ==16834== Command: ./test1_x64 ==16834== ==16834== ==16834== Process terminating with default action of signal 11 (SIGSEGV) ==16834== Bad permissions for mapped region at address 0x4005D8 ==16834== at 0x400503: main (test1.c:13) ==16834== ==16834== Counted 1 call to main() ==16834== ==16834== Jccs: ==16834== total: 14,169 ==16834== taken: 5,874 ( 41%) ==16834== ==16834== Executed: ==16834== SBs entered: 14,440 ==16834== SBs completed: 9,214 ==16834== guest instrs: 82,505 ==16834== IRStmts: 483,662 ==16834== ==16834== Ratios: ==16834== guest instrs : SB entered = 57 : 10 ==16834== IRStmts : SB entered = 334 : 10 ==16834== IRStmts : guest instr = 58 : 10 ==16834== ==16834== Exit code: 0 Segmentation fault (core dumped) > - I need to suppress instructions which stands for a single code statement, like defining pointers or accessing particular memory addresses. Looks like the core connects debug information if there is one. Then, how does the tool recognize it (like memcheck does)? Is VEX IR superblock contains about it? Thank you in advance. |