[all-commits] [llvm/llvm-project] 26f6aa: [debuginfo-tests] Fix Dexter process creation fail...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Thu Feb 13 04:47:05 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 26f6aa9e3ba47c5ccb9d837310b59a5087549b7d
      https://github.com/llvm/llvm-project/commit/26f6aa9e3ba47c5ccb9d837310b59a5087549b7d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2020-02-13 (Thu, 13 Feb 2020)

  Changed paths:
    M debuginfo-tests/dexter/dex/debugger/dbgeng/README.md
    M debuginfo-tests/dexter/dex/debugger/dbgeng/client.py
    M debuginfo-tests/dexter/dex/debugger/dbgeng/control.py
    M debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
    M debuginfo-tests/dexter/dex/debugger/dbgeng/setup.py

  Log Message:
  -----------
  [debuginfo-tests] Fix Dexter process creation failure on Windows

When writing the Windows dbgeng driver for Dexter, I couldn't work out why it
would either launch a process and leave it free running, or if I started the
process suspended, never do anything with it. The result was a hack to create
and attach processes manually. This has been flaking out on Reids Windows
buildbot, and clearly wasn't a good solution.

Digging into this, it turns out that the "normal" cdb / windbg behaviour of
breaking whenever we attach to a process is not the default: it has to be
explicitly requested from the debug engine. This patch does so (by setting
DEBUG_ENGOPT_INITIAL_BREAK in the engine options), after which we can simply
call "CreateProcessAndAttach2" and everything automagically works.

No test for this behaviour: everything was just broken before.

Differential Revision: https://reviews.llvm.org/D74409




More information about the All-commits mailing list