Open tmds opened 3 years ago
I’ve never done this before either, but did you try running dumpobj
on the span? And then I assume span has a field with pointer to the memory buffer that you can dump.
There's a part of this that I don't quite know how to do cleanly from SOS. Since Span is a struct it would probably be something like:
System.Span
.
name2ee System.Private.CoreLib.dll System.Span
1`), but I couldn't get it to resolve any generic classes. Is this expected @mikem8361?Token2EE
(i.e sos Token2EE System.Private.CoreLib.dll 0200015E
).clrstack -a
dumpvc <MethodTable> <Address>
I tried going through these steps for your sample and I got some interesting (read invalid) results, I believe because I was using the method table for the uninstantiated Span. I'll try to look tomorrow.
@hoyosjs I was trying the same steps, but got stuck at 1
when name2ee
doesn't return the method table.
Yeah, I was poking around but I can't find a good way to translate an open MT to the closed versions of it. After talking to @davmason we believe there's a painful gap here and I think it'd be worth investing some effort to be able to get both these functionalities (MT translation from open generics to bound/closed ones, and better name2ee
support for generics).
@hoyosjs do you want to create a new issue to implement those features, or do you want to re-purpose this one?
I can't figure out how to see the contents of a
Span<byte>
usinglldb
andsos
.For example:
What commands can I use to print the content of these
Spans
?cc @mikem8361