question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

InlineIL produces corrupted portable PDB file

See original GitHub issue

I trying to build symbol package in Release mode for my project and attach it to the main package. The produced output of dotnet pack -c Release consists of two files: .nupkg and .snupkg. My library uses InlineIL for implementation of several methods. However, NuGet telling me that your PDB file is not portable image If I remove InlineIL.Fody from csproj and leave other weavers then everything is fine. I’ve tried different combinations but without success.

Workaround: At this moment I decided to use <DebugType>embedded</DebugType> for my project.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:11 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
SimonCroppcommented, Aug 21, 2019

my perspective. i always use embedded. the reason being is, when people raise issues against my projects with a stack trace, i want the line numbers without any extra dev config for them and without them needing to remember to deploy pdbs to production.

1reaction
saknocommented, Aug 19, 2019

The issue is tested on both Linux and Windows. Here is my projects:

  1. csproj file uses InlineIL.Fody and my own weaver. dotnet pack -c Release produces snupkg with invalid PDB file.
  2. csproj uses only my own Fody weaver. This build works perfect.
  3. csproj has InlineIL.Fody weaver without my own weaver. PDB is not valid.

My weaver also modifies IL code and rewrites sequence points. However, it doesn’t cause problem with PDB.

Conclusion: the problem is not caused by invalid order of other weavers in csproj file or their intersection.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Cecil does not generate portable PDB checksum · Issue #610
Currently, Cecil does not generate a PdbChecksum debug directory entry in the assembly it writes when it produces a portable PDB file.
Read more >
Visual Studio 2010 SP1 - C# PDB file corrupt
Try right click on the project, go to the build tab->click advanced button->check output area->select debug info to pbd-only.
Read more >
Portable PDB Symbols - Windows drivers
The Portable PDB (Program Database) format describes an encoding of debugging information produced by compilers of Common Language ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found