dotnet / dotnet/diagnostics

Implement dumpstring command

Open
#1,651 0 comments 0 reactions 1 assignee Claimed by @mikem8361 View on GitHub
enhancement
Dominant language
C++
Stars
1.3k
Forks
404
Avg merge
2d 3h
Merged PRs (30d)
38

Description

## Background and Motivation

I have a dump where I can see that 90% of spaces is occupied by strings. When I'm dumping these string I can see

```
> do 00007f6bd64f1d78
Name: System.String
MethodTable: 00007f724f320fa0
EEClass: 00007f724f29a828
Size: 2054610(0x1f59d2) bytes
File: /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.21/System.Private.CoreLib.dll
String:
Fields:
MT Field Offset Type VT Attr Value Name
00007f724f28b750 40001b0 8 System.Int32 1 instance 1027292 _stringLength
00007f724f288f48 40001b1 c System.Char 1 instance 44 _firstChar
00007f724f320fa0 40001b2 58 System.String 0 shared static Empty
```

But what is the content of the string? Unfortunately, I cannot tell because `dumparray` doesn't work with pointers which `_firstChar` basically is.

## Proposed Feature

`dumpstring | ds` command would be really helpful in this scenario. Or maybeeven `dumpregion` which takes basic address and offset and prints all memory in between. It would cover some advanced cases and string as well. But maybe it worth adding a shortcut for strings anyway since they are so basic

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.