gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r26066 - monkey/trunk/pathologist/src/pathologist


From: gnunet
Subject: [GNUnet-SVN] r26066 - monkey/trunk/pathologist/src/pathologist
Date: Mon, 11 Feb 2013 13:54:34 +0100

Author: teichm
Date: 2013-02-11 13:54:34 +0100 (Mon, 11 Feb 2013)
New Revision: 26066

Modified:
   monkey/trunk/pathologist/src/pathologist/action.c
Log:
fixed segfault in action api. source files to debug now have to have unique 
filenames

Modified: monkey/trunk/pathologist/src/pathologist/action.c
===================================================================
--- monkey/trunk/pathologist/src/pathologist/action.c   2013-02-11 12:37:32 UTC 
(rev 26065)
+++ monkey/trunk/pathologist/src/pathologist/action.c   2013-02-11 12:54:34 UTC 
(rev 26066)
@@ -124,7 +124,7 @@
 {
        struct FileName *fileName = fileNameListHead;
        while (fileName) {
-               if (strcmp(fileName->name, name) == 0)
+               if (strstr(name, fileName->name))
                        return MONKEY_YES;
                fileName = fileName->next;
        }
@@ -179,18 +179,27 @@
                        break;
                }
 
-               /* Reaching this line means that the program has stopped 
abnormally OR we are in backtracking mode, and it's a step backward */
+               /* Reaching this line means that the program has stopped 
abnormally
+                * OR we are in backtracking mode, and it's a step backward */
                cntxt->gdb_frames = gmi_stack_list_frames(cntxt->gdb_handle);
-               while ((NULL != cntxt->gdb_frames) && (NULL == 
cntxt->gdb_frames->file)) {
+               while(cntxt->gdb_frames && !cntxt->gdb_frames->file) {
                        cntxt->gdb_frames = cntxt->gdb_frames->next;
                }
 
-               if ((NULL != cntxt->gdb_frames) && (MONKEY_YES != 
isInCodeBase(cntxt->gdb_frames->file))) {
-                       do {
+               if(cntxt->gdb_frames && !isInCodeBase(cntxt->gdb_frames->file)) 
{
+                       struct FileName* filen;
+                       for(filen=fileNameListHead; filen; filen = filen->next)
+                               if(filen->name) printf("%s\n", filen->name);
+                       while(cntxt->gdb_frames) {
+                               if(cntxt->gdb_frames->file)
+                                       printf("file: %s\nisInCodeBase: %d\n", 
cntxt->gdb_frames->file, isInCodeBase(cntxt->gdb_frames->file));
+                               if(cntxt->gdb_frames->file && 
isInCodeBase(cntxt->gdb_frames->file)) {
+                                       break;
+                               }
                                cntxt->gdb_frames = cntxt->gdb_frames->next;
-                       } while ((NULL != cntxt->gdb_frames) && (MONKEY_YES != 
isInCodeBase(cntxt->gdb_frames->file)));
+                       }
 
-                       if ((NULL != cntxt->gdb_frames) && (MONKEY_YES == 
cntxt->run_reverse)) {
+                       if (cntxt->gdb_frames && cntxt->run_reverse) {
                                /* We are in backtracking mode, we need to move 
GDB from the shared library to our source code */
                                stoppedInSharedLib = MONKEY_YES;
                                gmi_break_insert(cntxt->gdb_handle, 
cntxt->gdb_frames->file,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]