David Srbecký
0ef31e5117
Freeze all other threads during evaluation.
12 years ago
David Srbecký
4798dae6fe
Refactored the stepping logic to be more friendly with multiple symbol source;
...
JIT and NGEN optimization are explicit options now
13 years ago
David Srbecký
07c333b1f6
Never return null when Debugger.Value is expected - throw GetValueException instead
13 years ago
David Srbecký
86b779a8f0
Re-implemented fast property evaluation
13 years ago
David Srbecký
81f6f66a33
Do not suspend other threads while stepping
13 years ago
David Srbecký
5d802a226d
Fixing/updating debugger unit tests:
...
DynamicCode,
ExpressionEvaluatorVisitor_Tests,
StackFrame_Tests,
Value_Tests
13 years ago
David Srbecký
848aa733e5
Fixing/updating debugger unit tests:
...
AppDomain_Tests,
ControlFlow_Stepping,
DebugType_Tests,
StackFrame_Callstack,
StackFrame_Lifetime
13 years ago
Siegfried Pammer
52add16bea
use new IType information for expression evaluation
13 years ago
Siegfried Pammer
28bc1648b0
Implemented debugger expression evaluation using NRefactory semantic trees.
13 years ago
David Srbecký
fa16156631
Replaced debugger's type system with NRefactory type system
13 years ago
David Srbecký
f0ab856167
Removed SelectedThread and SelectedStackFrame from the debugger core. The addin now has to track those.
...
The thread to be used for evaluation has to be explicitly passed to debugger calls.
13 years ago
David Srbecký
0d4cd64ae6
Removed several debugger events. Refactored event handling in the debugger addin.
14 years ago
David Srbecký
fb31be5e4c
Cleaning up debugger tree model and tooltips
14 years ago
David Srbecký
0a07af2788
Completely changed how debugger keeps state for nodes in local variables pad and in tooltips.
...
The old method was to keep a NRefactory expression for each node.
The new method is create a lambda expression for each node.
The main motivation for this change is to get ready for NR5 which does not allow any sharing of AST nodes. This would mean that we would have to create a complete AST for each node, which might get expensive for deeply nested nodes. Caching of already evaluated expression would also be more difficult with separate ASTs. ILSpy is based on NR5 so we need this solution for it right now.
Another disadvantage was that every operation had to go though AST so we had to support it in the evaluator, we had to generate the AST, and we had to hope that nothing breaks on the way. This is particularly complex for types - with lambda expression we simply keep around the reference to the type or to whatever we need. Some things like "current exception object" do not exist in the AST so we had to hack around it.
On the other had, it was nice to have accurate C# expression for all nodes - for pretty printing, editing, or saving/loading it.
14 years ago
Daniel Grunwald
6bd47b7611
Revert David's debugger changes - they won't be part of SD 4.2.
...
This reverts commit 358b6cf691
.
This reverts commit 62265526a4
.
14 years ago
David Srbecký
62265526a4
Completely changed how debugger keeps state for nodes in local variables pad and in tooltips.
...
The old method was to keep a NRefactory expression for each node.
The new method is create a lambda expression for each node.
The main motivation for this change is to get ready for NR5 which does not allow any sharing of AST nodes. This would mean that we would have to create a complete AST for each node, which might get expensive for deeply nested nodes. Caching of already evaluated expression would also be more difficult with separate ASTs. ILSpy is based on NR5 so we need this solution for it right now.
Another disadvantage was that every operation had to go though AST so we had to support it in the evaluator, we had to generate the AST, and we had to hope that nothing breaks on the way. This is particularly complex for types - with lambda expression we simply keep around the reference to the type or to whatever we need. Some things like "current exception object" do not exist in the AST so we had to hack around it.
On the other had, it was nice to have accurate C# expression for all nodes - for pretty printing, editing, or saving/loading it.
14 years ago
Daniel Grunwald
f5780c2944
Apply new file headers
15 years ago
David Srbecký
4bac8628c8
Fixed rude-abort of evals
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5302 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
b90c4ffe1b
Use other thread for evaluation if the current one is not suitable
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5301 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
f54d17c787
Fixed "Func eval cannot work. Bad starting point. (Exception from HRESULT: 0x80131313)"
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5294 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
58b7e7476a
Fixed SD2-1467 - "Can't load file 17d14f5c-a337-4978-8281-53493378c1071.vb under ."
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5257 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
33a981042f
Hopefully fixed the bug with invalid "__exception"
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5252 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
8069a16fb5
Moved the debugger directory one level up
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5182 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
36a37b020a
Apply thread-suspend rules for threads created during the stepping
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5176 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
9da4702054
Suspend other threads during stepping
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5175 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
b138040f0e
Minor tweaks
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5173 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
f9aded7c29
Arrays support IList<T> and other interfaces. Added support for object creation.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5165 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
097349d227
Support for array creation
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5163 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
9f743baba9
Do not use the Project and Src directories in debugger
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5162 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
516a068bf4
Implicit argument conversion.
...
Improved overloading error messages.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5152 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
4c8be8219e
Removed the Is<T>, As<T> and CastTo<T> helper methods
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5144 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
9686a82a01
Reimplemented COM object tracking. Fixed remaining compile errors.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5140 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
0bec899af9
Using methods instead of properties
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5137 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
4e479b74e6
Moved the rest to the Debugger.Interop namespace. Renamed using statements.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5136 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
af98db8e6d
Merged interop files together
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5128 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
f36bc90ba1
Remove unused import statements
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5127 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
07c2eef28b
Moving some files around
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5123 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
19decb3dc6
Improved type resolution by name
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5117 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
b78ca5f3bd
Some ToStrings are more verbose. Removed some Ignore attributes.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5113 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
5b77ae5bd0
Expressions test merged into ExpressionEvaluator test;
...
Fixed base class of String
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5111 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
345570538f
Polishing API and implemented more reflection methods
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5106 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
11dfb6ffef
Fixed remaining compile errors in Debugger.Core
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5105 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
e144544cd4
Fixing some syntax errors (still work in progress)
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5104 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
498a8e0a70
Decoupled support for expressions from the debugger core
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5094 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
Martin Koníček
e56d8c0501
Grid visualizer uses DebuggerHelpers.CreateDebugListExpression to fill a List by IEnumerable inside the debuggee and then display the List.
...
Implemented ExpressionEvaluator.VisitObjectCreateExpression.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4821 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
Martin Koníček
fc6637a32f
Text visualizer has word wrap and copy to clipboard.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4801 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
Martin Koníček
52ab692214
Object graph visualizer shows fields.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4795 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
Martin Koníček
793d82a9df
Fixed "Process is not paused" exception in DebuggerHelpers.InvokeDefaultGetHashCode - thanks to David.
...
Started implementing Eval.NewObject.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4788 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
Martin Koníček
7ac6e8b962
Eval.CreateValue sets Value.ExpressionTree more correctly so that Expression.PrettyPrint does not result in stack overflow anymore.
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4721 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago
David Srbecký
dc4d2cffdd
Restructured the API for creating DebugType;
...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4560 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
16 years ago