microsoft / microsoft/MIEngine

How to debug shared library (.so)

Open
#947 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
859
Forks
233
Avg merge
1d 6h
Merged PRs (30d)
3

Description

I am debugging an ARM IoT device by Visual Studio 2019 in command windows with debug.MIEngine launch command.

But It is inconvenient when I debug dynamic library (.so), since I have to manually load the solib and offset address. currently, my process is:

  1. Startup gdbserver in my ARM IoT device with --attach option to running executable process Id
  2. located the memory offset with Linux /proc//maps and calc the offset address
  3. put add-symbol-file and previous address in launch.xml
    4 ... debug...

My Question: Is there another easier way to debug a dynamic lib.

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

Start by reviewing the debug.MIEngine launch command and the current launch.xml workflow, including add-symbol-file and the offsets read from /proc//maps. Compare that process with the gdbserver --attach setup described in the issue. Done would require an agreed, supported simpler workflow for loading symbols from a dynamic .so.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
devtools, operating-systems
Issue type
Feature
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.