1. 10 Oct, 2018 2 commits
    • Ell's avatar
      app: in GimpBacktrace Windows backend, avoid bogus symbol addresses · d0fdff71
      Ell authored
      In the GimpBacktrace Windows backend, avoid reporting meaningless
      symbol addresses when failing to retrieve meaningful ones.
      Unfortunately, it seems that we never get symbol addresses for
      symbols that have debug information, which negatively affects the
      log viewer's call graph.  We're going to have to work around this.
      
      (cherry picked from commit 52772cf3)
      d0fdff71
    • Ell's avatar
      app: in GimpBacktrace Windows backend, set main-thread name · ca8bbd2e
      Ell authored
      When initializing the GimpBacktrace Windows backend, set the name
      of the current thread (which is assumed to be the main thread) to
      the program's name, to match its name on Linux.  We normally rely
      on the SET_THREAD_NAME exception to set thread names on Windows,
      which isn't raised for the main thread.
      
      (cherry picked from commit 52908f39)
      ca8bbd2e
  2. 05 Sep, 2018 1 commit
    • Ell's avatar
      app: more cleanup in GimpBacktrace · 468a4ad1
      Ell authored
      Improve out-of-range check in gimp_backtrace_find_thread_by_id().
      
      Remove unnecessary #include <exchndl.h> in gimpbacktrace-windows.c,
      and revert commit 644234e9 (the
      DrMingw detection happens at runtime).  The Windows backend can
      work without DrMingw, it just can't find all the symbols, and
      doesn't provide source-location information.
      
      (cherry picked from commit b9f1ab8f)
      468a4ad1
  3. 03 Sep, 2018 2 commits
    • Ell's avatar
      app, tools: add "running" thread attribute to GimpBacktrace/performance-log · 0fcf02a7
      Ell authored
      The "running" attribute (readable through
      gimp_backtrace_is_thread_running(), and recorded in the performance
      log) specifies if the thread was in a running or suspended state at
      the time the backtrace was taken.  It is accurate on Linux, but
      only approximated on Windows.
      
      Adapt the performance-log-expand.py tool to maintain this attribute
      (and any future thread attributes we might add).
      
      (cherry picked from commit 78adb7c9)
      0fcf02a7
    • Ell's avatar
      app: add Windows backend to GimpBacktrace · 9f1a0a65
      Ell authored
      The Windows backend produces full, multithreaded backtraces.  When
      DrMingw is available, it also provides full symbol and (where
      available) source-location information.  Otherwise, it provides
      symbol information for most of our libraries, but not for the GIMP
      binary itself.
      
      (cherry picked from commit 667efc22)
      9f1a0a65