Vector35 / Vector35/debugger

Slow launching speed when using dbgeng adapter over a slow internet connection

Open
#519 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug DbgEng Adapter hang Impact: High
Dominant language
C++
Stars
331
Forks
33
PR merge metrics
No merged PRs in 30d

Description

I happened to be using the debugger while traveling and the network at the airport is slow. I notice that the launching speed for dbgeng adapter is really slow (for both live and TTD debugging). I noticed this is because the dbgeng is busy downloading the symbol files for a dozen of relevant DLLs, and it takes forever on a slow network. The debugger does become responsive if I wait patiently, but the long waiting time is not acceptable. Worse still, if the network connection has no internet access, the launch will hang indefinitely.

The issue can be fixed by either connecting to a fast network or completing disconnecting from the network. Also, this affects windbg itself in the very same way: the launch will hang too if one use windbg directly.

In windbg, a use may be able to notice what's going on because the GUI shows a progress bar for the symbol download. In BN debugger's GUI, there is no such progress bar so there is no clue what is going on. And they likely just think the debugger malfunctions.

Not sure what the best way to fix this is, might detect the symbol downloading is taking very long and let the user know?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the dbgeng adapter launch for both live and TTD debugging on a slow or unavailable network, then trace where symbol downloads block startup and where debugger GUI status is reported. Compare the behavior with WinDbg's symbol-download progress; done means launch does not appear indefinitely hung and users receive clear feedback while symbols are being downloaded.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
devtools, reverse-engineering
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.