Commit d9e0a4b7 authored by Tatiana A. Nurnberg's avatar Tatiana A. Nurnberg
Browse files

auto-merge

parents a89d13a7 fd70d5e9
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -391,7 +391,12 @@ static void get_symbol_path(char *path, size_t size)

      if (!strstr(path, module_dir))
      {
        strncat(path, module_dir, size);
        size_t dir_len = strlen(module_dir);
        if (size > dir_len)
        {
          strncat(path, module_dir, size-1);
          size -= dir_len;
        }
      }
    }
    CloseHandle(hSnap);
@@ -399,9 +404,9 @@ static void get_symbol_path(char *path, size_t size)

  /* Add _NT_SYMBOL_PATH, if present. */
  envvar= getenv("_NT_SYMBOL_PATH");
  if(envvar)
  if(envvar && size)
  {
    strncat(path, envvar, size);
    strncat(path, envvar, size-1);
  }
}

@@ -423,7 +428,7 @@ void print_stacktrace(gptr unused1, ulong unused2)
  int     i;
  CONTEXT context;
  STACKFRAME64 frame={0};
  static char symbol_path[MAX_SYMBOL_PATH+1];
  static char symbol_path[MAX_SYMBOL_PATH];

  if(!exception_ptrs || !init_dbghelp_functions())
    return;
@@ -432,7 +437,7 @@ void print_stacktrace(gptr unused1, ulong unused2)
  context = *(exception_ptrs->ContextRecord);
  /*Initialize symbols.*/
  pSymSetOptions(SYMOPT_LOAD_LINES|SYMOPT_NO_PROMPTS|SYMOPT_DEFERRED_LOADS|SYMOPT_DEBUG);
  get_symbol_path(symbol_path, MAX_SYMBOL_PATH);
  get_symbol_path(symbol_path, sizeof(symbol_path));
  pSymInitialize(hProcess, symbol_path, TRUE);

  /*Prepare stackframe for the first StackWalk64 call*/