Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PDB0009 Invalid type name #109

Open
jnm2 opened this issue Jan 2, 2018 · 8 comments
Open

PDB0009 Invalid type name #109

jnm2 opened this issue Jan 2, 2018 · 8 comments

Comments

@jnm2
Copy link

jnm2 commented Jan 2, 2018

When converting Windows PDBs to portable PDBs, I'm getting this diagnostic:

PDB0009: token 0x06000DDC: Invalid type name specified in StateMachineTypeName custom debug information: <System.Collections.Generic.IEnumerable<DevExpress.Charts.Native.IAxisData>.GetEnumerator>d__0

How should I address this issue?

@tmat
Copy link
Member

tmat commented Jan 2, 2018

What version of the compiler is this compiled with?

@tmat
Copy link
Member

tmat commented Jan 2, 2018

(you can ignore the error, btw)

@jnm2
Copy link
Author

jnm2 commented Jan 2, 2018

What version of the compiler is this compiled with?

The PDB and DLL? I don't know if I can find out since I didn't build them. Is that information embedded in one of the files? The csproj from the sources contains ProductVersion 9.0.30729 and

  <PropertyGroup Condition=" '$(VisualStudioVersion)' != '' And $(VisualStudioVersion) &gt; 10.0 ">
    <LangVersion>4</LangVersion>
  </PropertyGroup>

But only a lower bound could be inferred from that, I guess.

(you can ignore the error, btw)

👍 Is there a way I could have figured this out by looking at docs?

@tmat
Copy link
Member

tmat commented Jan 2, 2018

If these binaries were built by an old compiler (pre-Roslyn, that is before VS 2015) it is possible that some of the metadata and debug information is bad. The old compiler had a bunch of bugs. I can take a look if you can share the binary and the PDB with me.

@tmat
Copy link
Member

tmat commented Jan 2, 2018

Re errors: Most of the conversion errors are recoverable. If the converter produces PDB then you're good. The converter skips bad data and continues converting.

@jnm2
Copy link
Author

jnm2 commented Jan 2, 2018

If you have time and want to look, let me know where you want me to send it. If you're confident that I'm not losing anything important, don't let me waste your time. 😃

@jnm2
Copy link
Author

jnm2 commented Jan 2, 2018

My basic goal is to achieve source-stepping while incurring as little coupling as possible to Microsoft PDB format details at a certain point in time. If this conversion is not lossy in any way which could affect source stepping and debug evaluation, maybe I'll stick with this over Windows PDB rewriting. seealso

@jnm2
Copy link
Author

jnm2 commented Jan 2, 2018

Ran into a couple of these, too:

PDB0016: token 0x0600782E: Invalid scope IL offset range: [32, 66)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants