Siegfried Pammer
31bbcf41bc
Fix handling of file extensions in project export.
3 months ago
Siegfried Pammer
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
1 year ago
ElektroKill
38019ad5bf
Introduce `PdbExtraTypeInfo` struct and adjusted `IDebugInfoProvider`
1 year ago
ElektroKill
5b526cfeac
Read and use tuple element names and dynamic type information from PDBs
2 years ago
Siegfried Pammer
4893c58ac0
#1806 : Use NormalizeTypeVisitor.TypeErasure.EquivalentTypes in DebugInfoGenerator.HandleMethodBody to fix false positives in assertion.
2 years ago
Kirill Osenkov
7992d148e8
Generate sequence points for expression-bodied properties and indexers
2 years ago
James May
bce0f7b23b
Add CustomDebugInformation kind EncStateMachineStateMap
2 years ago
Siegfried Pammer
c3d0e5ecc2
Fix #1784 : Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
3 years ago
Siegfried Pammer
3075ec92fe
#2823 : Use row ID instead of token in AsyncDebugInfo blob.
3 years ago
Siegfried Pammer
343694c549
Generalize progress reporting for decompilation and PDB generation.
3 years ago
Andrew Crawley (US - DIAGNOSTICS)
a494bfadbe
Add progress reporting to PortablePdbWriter
...
This commit adds a new parameter to PortablePdbWriter.WritePdb that
allows the caller to provide an implementation of IProgress to receive
status updates on the pdb generation process. Currently, the progress
reports include the number of files generated so far and the total
number of files.
3 years ago
Andrew Crawley (US - DIAGNOSTICS)
696cbc2136
Allow user to provide ID when generating a PDB
...
This commit adds a new parameter to PortablePdbWriter.WritePdb that
allows the caller to specify the exact Guid and timestamp that should be
used in the generated PDB. This will be useful for several scenarios
that are interesting for the Visual Studio debugger's integration:
1. Generating a PDB for an assembly that was built without debug info.
The PDB writer currently fails in this case, since the input assembly
has no debug directory from which to extract the relevant info. The
debugger can provide values that will allow us to load the generated
PDB.
2. Generating a PDB for an assembly that has multiple debug directories.
The PDB writer currently uses the first debug directory it finds, but
this isn't necessarily the correct one. The debugger can provide the
correct values.
3 years ago
David Wengier
52628a219a
Add TypeDefinitionDocuments to custom debug information data
3 years ago
Siegfried Pammer
a48f0d311c
Fix #2330 : Add conditional sub directory support
3 years ago
Siegfried Pammer
07199e2ecf
Fix #2038 : Add proper support for Long paths on Windows 10 and limit path segments to 255 characters (with long path support) or 30 characters. If a PathTooLongException is thrown display a better error message on project export.
4 years ago
Siegfried Pammer
5a8b488e99
PDBGen: Fix exception in case an ILFunction gets defined in C# twice: This may happen if a compiler-generated function gets transformed into a lambda expression, but its method definition is not removed from the syntax tree.
4 years ago
Siegfried Pammer
51dcab484d
Add support for inline display of blob contents of CustomDebugInformation entries in PDBs.
4 years ago
Siegfried Pammer
924e7a0ec4
Fix "Select PDB" command when working with bundles.
5 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
5 years ago
dymanoid
a952cda502
Create dedicated namespace for project decompiler
5 years ago
Jackson Davis
6ab1f98fa3
Expand the range of sequence points out the closest empty ilstack
...
or implicit sequence point without creating overlapping sequence points.
If such a location cannot be found do, nothing. Fill in the
gaps with hidden sequence points.
Also emit a sequence point for
the prolog to account for seqeunce point there emitted by the C#
compiler. Without this, the debugger can stop there on a step in
using the original pdb, then decompile resulting in a no-code at this
location failure.
5 years ago
Daniel Grunwald
0cf50aa827
Fix #1959 : Resolve the "F(G<A,B>(7));" grammar ambiguity by inserting parentheses when necessary.
5 years ago
Siegfried Pammer
c2a2cf43f2
Fix #1482 : SequencePointBuilder fails with an assertion when trying to create sequence points for LINQ expressions
5 years ago
Siegfried Pammer
413c5b3baf
PortablePdbWriter: Add primitive support for state-machine hoisted local scopes. All variables are visible in the whole MoveNext method.
5 years ago
Siegfried Pammer
3f108cea37
#1482 : Fix sequence points of LINQ select and where.
5 years ago
Siegfried Pammer
22799ca6b1
#1942 : Make sure to group all types by filename in the generated PDB.
5 years ago
Siegfried Pammer
70b087bf8d
#1942 : WholeProjectDecompiler: Do not use filenames that collide with names of special devices. Note: this changes the PDB structure from multi-level folders per namespace to "dotted name" folders.
5 years ago
Siegfried Pammer
2efca22fae
Add Debug Metadata Explorer
5 years ago
Siegfried Pammer
ae08167521
PDBGen: LocalScopes must be sorted "first by Method in ascending order, then by StartOffset in ascending order, then by Length in descending order."
5 years ago
Siegfried Pammer
e211b01595
Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory.
6 years ago
Siegfried Pammer
74f3b2a0dd
Fix #1712 : Invalid SequencePointsBlob when generating PDB: Filter duplicate IL range assignments.
6 years ago
Siegfried Pammer
46ba4fc66a
Fix #1480 : InvalidOperationException in PortablePdbWriter.
6 years ago
Daniel Grunwald
d90c195b00
SHA256 instances are not thread-safe
6 years ago
Daniel Grunwald
f1c8142ce2
PDB generator now can emit "method stepping information" for async functions.
6 years ago
Siegfried Pammer
b4c376d195
Ignore document checksum and blob length in PdbGenerationTestRunner
6 years ago
Daniel Grunwald
763683748b
Emit debug info for display class locals, so that the debugger can show the values of captured variables.
6 years ago
Siegfried Pammer
25c757b7cd
Add first attempt at PdbGenerationTestRunner.
6 years ago
Daniel Grunwald
66197818b9
Fix LocalScope.VariableList for empty scopes.
6 years ago
Siegfried Pammer
fd70d25e95
Small fixes in ScopesGenerator.
6 years ago
Siegfried Pammer
9e0c7ae9c8
Use Mono.Cecil instead of DiaSymReader to read classic PDB files.
7 years ago
Siegfried Pammer
6926651791
First draft of support for ImportScope and LocalScope tables.
7 years ago
Siegfried Pammer
58c3a17a26
#1024 : Fix bug in sequence point blob mapping.
7 years ago
Siegfried Pammer
d5b495329f
#1024 : Make PDB Support in ILSpy more robust.
7 years ago
Daniel Grunwald
b396d203bd
Merge IDecompilerTypeSystem with ICompilation.
7 years ago
Daniel Grunwald
3b46776c5e
Rename IAssembly -> IModule.
...
While support for multi-module assemblies isn't fully working yet; it is clear at this point that we want
to treat each module in a multi-module assembly separately for the purposes of the type system.
7 years ago
Siegfried Pammer
8335615842
Add IDebugInfoProvider.Description property
7 years ago
Siegfried Pammer
bcfb3742eb
Clean up PEFile, move Pdb related types to DebugInfo namespace
7 years ago