Siegfried Pammer
31bbcf41bc
Fix handling of file extensions in project export.
2025-02-21 09:14:23 +01:00
Siegfried Pammer
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
2024-03-24 15:35:13 +01:00
ElektroKill
38019ad5bf
Introduce PdbExtraTypeInfo struct and adjusted IDebugInfoProvider
2023-12-14 18:36:57 +01:00
ElektroKill
5b526cfeac
Read and use tuple element names and dynamic type information from PDBs
2023-11-07 21:39:16 +01:00
Siegfried Pammer
4893c58ac0
#1806 : Use NormalizeTypeVisitor.TypeErasure.EquivalentTypes in DebugInfoGenerator.HandleMethodBody to fix false positives in assertion.
2023-08-05 16:46:11 +02:00
Kirill Osenkov
7992d148e8
Generate sequence points for expression-bodied properties and indexers
2023-07-02 20:16:10 +02:00
James May
bce0f7b23b
Add CustomDebugInformation kind EncStateMachineStateMap
2023-06-24 21:28:02 +02:00
Siegfried Pammer
c3d0e5ecc2
Fix #1784 : Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
2022-11-04 21:20:45 +01:00
Siegfried Pammer
3075ec92fe
#2823 : Use row ID instead of token in AsyncDebugInfo blob.
2022-11-01 10:10:06 +01:00
Siegfried Pammer
343694c549
Generalize progress reporting for decompilation and PDB generation.
2022-10-21 10:18:05 +02:00
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.
2022-10-21 09:27:47 +02:00
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.
2022-04-27 14:49:16 -07:00
David Wengier
52628a219a
Add TypeDefinitionDocuments to custom debug information data
2021-12-13 21:16:36 +11:00
Siegfried Pammer
a48f0d311c
Fix #2330 : Add conditional sub directory support
2021-12-05 16:33:39 +01:00
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.
2021-09-06 21:02:31 +02:00
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.
2021-03-11 14:13:23 +01:00
Siegfried Pammer
51dcab484d
Add support for inline display of blob contents of CustomDebugInformation entries in PDBs.
2021-03-04 20:48:46 +01:00
Siegfried Pammer
924e7a0ec4
Fix "Select PDB" command when working with bundles.
2020-11-14 21:12:51 +01:00
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
2020-08-28 01:05:38 +02:00
dymanoid
a952cda502
Create dedicated namespace for project decompiler
2020-06-07 11:46:46 +02:00
Jackson Davis
8180070bc6
Merge branch 'master' of https://github.com/icsharpcode/ILSpy into dev/jacdavis/sequencepoints
2020-04-06 17:33:06 -07:00
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.
2020-04-06 09:58:25 -07:00
Daniel Grunwald
0cf50aa827
Fix #1959 : Resolve the "F(G<A,B>(7));" grammar ambiguity by inserting parentheses when necessary.
2020-04-01 21:10:35 +02:00
Siegfried Pammer
c2a2cf43f2
Fix #1482 : SequencePointBuilder fails with an assertion when trying to create sequence points for LINQ expressions
2020-03-24 18:43:28 +01:00
Siegfried Pammer
c95dc9efd7
Merge branch 'master' of https://github.com/icsharpcode/ILSpy into pdbgen-enhancements
2020-03-07 23:00:52 +01:00
Siegfried Pammer
413c5b3baf
PortablePdbWriter: Add primitive support for state-machine hoisted local scopes. All variables are visible in the whole MoveNext method.
2020-03-07 19:56:57 +01:00
Siegfried Pammer
3f108cea37
#1482 : Fix sequence points of LINQ select and where.
2020-03-07 19:53:44 +01:00
Siegfried Pammer
22799ca6b1
#1942 : Make sure to group all types by filename in the generated PDB.
2020-03-05 12:03:36 +01:00
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.
2020-03-05 11:11:12 +01:00
Siegfried Pammer
2efca22fae
Add Debug Metadata Explorer
2020-01-26 21:34:05 +01:00
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."
2020-01-26 21:34:05 +01:00
Siegfried Pammer
e211b01595
Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory.
2019-11-04 20:40:21 +01:00
Siegfried Pammer
74f3b2a0dd
Fix #1712 : Invalid SequencePointsBlob when generating PDB: Filter duplicate IL range assignments.
2019-09-28 09:34:02 +02:00
Siegfried Pammer
46ba4fc66a
Fix #1480 : InvalidOperationException in PortablePdbWriter.
2019-04-11 11:34:25 +02:00
Daniel Grunwald
d90c195b00
SHA256 instances are not thread-safe
2019-02-16 18:30:24 +01:00
Daniel Grunwald
f1c8142ce2
PDB generator now can emit "method stepping information" for async functions.
2019-02-16 18:27:24 +01:00
Siegfried Pammer
b4c376d195
Ignore document checksum and blob length in PdbGenerationTestRunner
2019-02-16 14:26:48 +01:00
Daniel Grunwald
763683748b
Emit debug info for display class locals, so that the debugger can show the values of captured variables.
2019-02-16 12:48:19 +01:00
Siegfried Pammer
25c757b7cd
Add first attempt at PdbGenerationTestRunner.
2019-02-16 08:27:53 +01:00
Siegfried Pammer
9c640d3042
Merge branch 'master' of https://github.com/icsharpcode/ILSpy into ppdb
2019-02-15 14:56:38 +01:00
Daniel Grunwald
66197818b9
Fix LocalScope.VariableList for empty scopes.
2019-02-15 14:02:50 +01:00
Siegfried Pammer
fd70d25e95
Small fixes in ScopesGenerator.
2019-02-15 11:44:25 +01:00
Siegfried Pammer
1c4b02cb7c
Merge branch 'master' of https://github.com/icsharpcode/ILSpy into ppdb
2019-02-13 18:06:29 +01:00
Siegfried Pammer
9e0c7ae9c8
Use Mono.Cecil instead of DiaSymReader to read classic PDB files.
2018-08-12 15:22:54 +02:00
Siegfried Pammer
6926651791
First draft of support for ImportScope and LocalScope tables.
2018-07-22 22:14:50 +02:00
Siegfried Pammer
58c3a17a26
#1024 : Fix bug in sequence point blob mapping.
2018-07-20 09:52:44 +02:00
Siegfried Pammer
d5b495329f
#1024 : Make PDB Support in ILSpy more robust.
2018-07-19 08:40:18 +02:00
Daniel Grunwald
b396d203bd
Merge IDecompilerTypeSystem with ICompilation.
2018-07-14 16:50:36 +02:00
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.
2018-07-13 22:20:49 +02:00
Siegfried Pammer
8335615842
Add IDebugInfoProvider.Description property
2018-07-13 14:45:17 +02:00