This repository has been archived by the owner on Feb 8, 2018. It is now read-only.
/
ChangeLog
1974 lines (1237 loc) · 64.5 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2003-02-27 Martin Baulig <martin@ximian.com>
* frontends/gui/SourceManager.cs (GetSourceView): Use the
SourceFile / ISourceBuffer as hash key, not the IMethodSource.
2003-02-27 Martin Baulig <martin@ximian.com>
* backends/server/server.h (CommandError): Cleaned this up.
* backends/ptrace/PTrace.cs: Throw a TargetMemoryException if
reading from the target's memory failed.
* classes/TargetException.cs (LocationInvalidException): Added
.ctor which takes a TargetException.
* backends/native/*: Pass TargetExceptions to the
LocationInvalidException's .ctor.
* backends/mono-csharp/*: Likewise.
2003-02-27 Martin Baulig <martin@ximian.com>
* backends/native/NativeStringObject.cs (ReadString): Quote
non-printable characters in the returned string, read at most
MaximumDynamicSize chars.
2003-02-26 Martin Baulig <martin@ximian.com>
* backends/SingleSteppingEngine.cs (check_method_operation):
Enable this for native methods as well.
2003-02-26 Martin Baulig <martin@ximian.com>
* backends/native/NativeStringType.cs: New file.
* backends/native/NativeStringObject.cs: New file.
* arch/DwarfReader.cs: Cleaned up the API a bit and added support
for strings.
2003-02-26 Martin Baulig <martin@ximian.com>
* arch/DwarfReader.cs: Started to add support for native types to
access parameters and local variables in native methods.
2003-02-26 Martin Baulig <martin@ximian.com>
* backends/native/: New directory.
* backends/native/NativeFundamentalObject.cs: New file.
* backends/native/NativeFundamentalType.cs: New file.
* backends/native/NativeObject.cs: New file.
* backends/native/NativeOpaqueType.cs: New file.
* backends/native/NativeType.cs: New file.
2003-02-26 Martin Baulig <martin@ximian.com>
Moved MonoTargetLocation.cs, MonoRelativeTargetLocation.cs,
MonoStackLocation.cs and MonoRegisterLocation.cs from
backends/mono-csharp/ to backends/classes/ and put them into the
Mono.Debugger.Backends namespace.
* backends/classes/MonoTargetLocation.cs: Moved here.
* backends/classes/MonoRelativeTargetLocation.cs: Moved here.
* backends/classes/MonoStackLocation.cs: Moved here.
* backends/classes/MonoRegisterLocation.cs: Moved here.
2003-02-25 Martin Baulig <martin@ximian.com>
* classes/SourceInfo.cs (SourceFile.FindMethod): Renamed the
overloaded version which took a line into FindLine () and changed
its return type to SourceLocation.
* classes/Module.cs (FindMethod): Renamed the overloaded version
which took a filename and line to FindLocation() and changed its
return type to SourceLocation.
2003-02-24 Martin Baulig <martin@ximian.com>
* interfaces/IMethod.cs (IMethodSource.SourceMethod): New property.
* classes/SourceAddress.cs (SourceLocation): New property.
2003-02-24 Martin Baulig <martin@ximian.com>
* interfaces/ISourceBuffer.cs (ISourceBuffer.HasContents): Removed
this property; from now on, an ISourceBuffer always has contents.
(ISourceBuffer.Contents): Changed the type of this property from
`string' to `string[]'; it returns the source file splitted into
lines (it turned out to be more useful that way).
* interfaces/IMethod.cs (IMethodSource): Added Name, IsDynamic,
SourceBuffer and SourceFile properties.
* classes/SourceAddress.cs (SourceAddress.Buffer): Removed this
property.
(SourceAddress.MethodSource): New public property.
2003-02-24 Martin Baulig <martin@ximian.com>
* classes/SourceInfo.cs: Renamed `SourceInfo' into `SourceFile'
and `SourceMethodInfo' into `SourceMethod'.
2003-02-24 Martin Baulig <martin@ximian.com>
* classes/SourceFileFactory.cs (SourceFileFactory.FindFile):
Return an ISourceBuffer.
(SourceFile): Removed.
2003-02-24 Martin Baulig <martin@ximian.com>
* classes/SourceLocation.cs: New public class.
* classes/BreakpointHandle.cs (BreakpointHandleMethod): Merged all
the functionality into `BreakpointHandle' and removed this class.
* classes/Module.cs (Module.AddBreakpoint): Take a SourceLocation.
2003-02-24 Martin Baulig <martin@ximian.com>
* backends/Process.cs (Kill): Send the event and call Dispose ().
* backends/ThreadManager.cs (process_exited): Use Process.Kill()
to kill all processes.
* backends/mono-csharp/MonoCSharpLanguageBackend.cs: Unload the
modules when the target exits.
2003-02-23 Martin Baulig <martin@ximian.com>
Renamed `SourceLocation' to `SourceAddress'.
* classes/SourceAddress.cs: Formerly known as SourceLocation.
* classes/SourceLocation.cs: Renamed into SourceAddress.
2003-02-22 Martin Baulig <martin@ximian.com>
* classes/SourceFileFactory.cs (SourceFile.ReadFile): Use
`Encoding.GetEncoding (28591)' as the default encoding. I've no
idea why, but that's what MCS is doing in driver.cs and it's
fixing my bug.
2003-02-22 Martin Baulig <martin@ximian.com>
* doc/user-manual.texi: Documented the new breakpoint code.
2003-02-22 Martin Baulig <martin@ximian.com>
* interfaces/IMethod.cs (IMethodSource.MethodLookup): New method.
* backends/Debugger.cs (InsertBreakpoint): Removed the overloaded
versions which took a method name / file name; the method lookup
is now done by the client, we just take a SourceMethodInfo here.
* frontends/scripting/: Completely reworked the `break' commands.
Thread groups are now specified in `<', '>'.
2003-02-13 Miguel de Icaza <miguel@ximian.com>
* frontends/command-line/Main.cs: Make enter repeat the last command.
2003-02-09 Martin Baulig <martin@ximian.com>
* test/SymbolFileReader.cs: Moved to ../lib/.
* lib/SymbolFileReader.cs: Added this to the build.
2003-02-08 Martin Baulig <martin@ximian.com>
* wrapper/main.c: Create a special command thread which is always
stopped. It is used by the debugger to invoke methods on the JIT,
such as compiling a method or inserting a breakpoint.
2003-02-08 Martin Baulig <martin@ximian.com>
* classes/ModuleData.cs (FindMethod): New abstract method.
* classes/Module.cs (FindMethod): Call ModuleData.FindMethod().
* backends/mono-csharp/MonoCSharpLanguageBackend.cs
(MonoModule.FindMethod): Provide a custom implementation for this.
2003-02-07 Martin Baulig <martin@ximian.com>
* backends/mono-csharp/MonoCSharpLanguageBackend.cs: Reflect
latest symbol writer changes.
2003-02-05 Martin Baulig <martin@ximian.com>
* tests/SymbolFileReader.cs: New test. This is a nice tool which
can dump the contents of a symbol file.
2003-02-03 Martin Baulig <martin@ximian.com>
* backends/server/library.c: Return the correct thread abort/restart
signals.
* backends/ThreadManager.cs: Make this work for native
applications again.
2003-02-03 Martin Baulig <martin@ximian.com>
* frontends/scripting/ScriptingContext.cs: Added `--prompt'
command line argument to specify the prompt; useful when running
the debugger inside the debugger.
2003-02-02 Martin Baulig <martin@ximian.com>
* test/TestInternCall.cs: New test.
2003-02-02 Martin Baulig <martin@ximian.com>
* backends/SingleSteppingEngine.cs: Added support for
PInvoke/icall wrappers.
2003-02-02 Martin Baulig <martin@ximian.com>
* interfaces/IMethod.cs (IsWrapper, WrapperAddress): New properties.
2003-02-02 Martin Baulig <martin@ximian.com>
* wrapper/icall.c: New file.
(Mono.Debugger.Tests.TestInternCall::Test): New interncall for
testing purposes.
2003-02-02 Martin Baulig <martin@ximian.com>
* frontends/gui/SourceView.cs (CreateWidget): New abstract method.
(.ctor): Hook to the "map"/"unmap" events and don't update the
widget while we're invisible.
(frame_changed_event): If we're called the first time, queue an
idle callback which scrolls to the current line.
2003-02-02 Martin Baulig <martin@ximian.com>
* arch/ArchitectureI386.cs (I386Register): Made this public.
2003-02-01 Martin Baulig <martin@ximian.com>
* frontends/scripting/ScriptingContext.cs (Start): Splitted into
ParseArguments() and Run().
* backends/ProcessStart.cs (IsCoreFile, CoreFile): New properties.
* frontends/gui/DebuggerGUI.cs (ProgramLoadedEvent): This is now
emitted when the DebuggerBackend is created.
(ProcessCreatedEvent): New public event which is emitted when the
main process has been created.
* frontends/gui/DebuggerWidget.cs (SetBackend): New protected
virtual function; this is called before the main process is started.
2003-02-01 Martin Baulig <martin@ximian.com>
* frontends/gui/DebuggerGUI.cs (ProgramLoadedEvent): New public
event.
* frontends/gui/DebuggerWidget.cs (SetProcess): Made this
protected; we hook to the DebuggerGUI's ProgramLoadedEvent.
2003-02-01 Martin Baulig <martin@ximian.com>
* frontends/gui/DebuggerWidget.cs: The `backend' is now set in
SetProcess() and must not be used before SetProcess() has been called.
2003-02-01 Martin Baulig <martin@ximian.com>
* classes/ObjectCache.cs: Re-enable WeakReferences.
2003-02-01 Martin Baulig <martin@ximian.com>
* frontends/command-line/Interpreter.cs: The ScriptingContext is
now created by the caller and passed to the .ctor as argument.
2003-01-26 Martin Baulig <martin@ximian.com>
* frontends/scripting/: Use Mono.GetOptions.
2003-01-26 Martin Baulig <martin@ximian.com>
* doc/user-manual.texi: New file. Explained thread groups and
per-thread breakpoints there.
2003-01-26 Martin Baulig <martin@ximian.com>
* frontends/scripting/: Implemented ThreadGroup support.
2003-01-26 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added `kill' command.
2003-01-24 Martin Baulig <martin@ximian.com>
* wrapper/: Reflected lastest runtime changes.
2003-01-24 Martin Baulig <martin@ximian.com>
Made the serialization stuff actually work. You can now save a
debugger session - including all your breakpoints - to disk and
read it back next time you start the debugger :-)
* backend/ProcessStart.cs: Made this serializable.
* backend/DebuggerBackend.cs: Made this serializable.
* class/Module.cs: Make the serialization stuff actually work. We
can now serialize the module list, including all the breakpoints,
to disk and reload it later.
2003-01-24 Martin Baulig <martin@ximian.com>
* classes/ModuleData.cs: Split out all the dynamic stuff from
`Module'; this is now also the base class for `NativeModule'.
* classes/BreakpointHandle.cs: This was formerly a nested class in
`Module' and is now public.
* classes/SymbolTableManager.cs: Don't use an AsyncQueue here.
* arch/BfdModule.cs: The DwarfReader is now constructed here; we
can also load/unload it.
2003-01-24 Martin Baulig <martin@ximian.com>
* wrapper/: Prefix all symbols which are accessed from the
debugger with `MONO_DEBUGGER__' and mark them as volatile.
2003-01-23 Nick Drochak <ndrochak@gol.com>
* frontends/gui/DebuggerGUI.cs: Hook up close button on window border.
2003-01-22 Martin Baulig <martin@ximian.com>
* lib/Makefile.am: Use the new wrapper instead of @MONO@. Added
the ${LD_LIBRARY_PATH} to the config files.
* backends/ProcessStart: Pass the LD_LIBRARY_PATH to the target.
2003-01-22 Martin Baulig <martin@ximian.com>
* classes/Breakpoint.cs (BreakpointHit): Renamed to
CheckBreakpointHit() and added BreakpointHit() which'll be called
after the target is actually stopped and the notifications have
been send.
2003-01-22 Martin Baulig <martin@ximian.com>
* backends/ThreadManager.cs: Use the new mono thread manager in
the wrapper.
* wrapper/: New directory. This is an unmanaged wrapper
application which embeds the JIT. It is launched from the
debugger when debugging managed applications.
* configure.in: Set version number to 0.2.1; require Mono 0.19.1.
2003-01-19 Martin Baulig <martin@ximian.com>
Released version 0.2.0 "Boston" of the Mono Debugger :-)
2003-01-19 Martin Baulig <martin@ximian.com>
* README.FreBSD: The mono and binutils binaries are ready :-)
2003-01-19 Martin Baulig <martin@ximian.com>
* README.FreeBSD: Unfortunately, the binutils issue is a bit worse
than expected on FreeBSD. I've made a FreeBSD port, including a
binary package; added a link to them.
2003-01-19 Martin Baulig <martin@ximian.com>
* arch/DwarfReader.cs: Don't make this an IDisposable.
* classes/SymbolTableManager.cs: Catch the ThreadAbortException
and set the events to wake up a potentially waiting caller.
2003-01-18 Martin Baulig <martin@ximian.com>
* interfaces/IProcess.cs (State, Disassembler): New properties.
* backends/SingleSteppingEngine.cs: Implement IDisassembler.
* backends/Process.cs: Some API cleanups.
(ProcessExitedEvent): New public event.
2003-01-18 Martin Baulig <martin@ximian.com>
* configure.in: Set version number to 0.1.9, we're almost ready for
the release ....
2003-01-18 Martin Baulig <martin@ximian.com>
* RELEASE-NOTES-0.2.0.txt: Replaced `GNU/Linux' with `Linux and
BSD kernels' since the debugger is now working on FreeBSD.
2003-01-17 Martin Baulig <martin@ximian.com>
* backends/DaemonThreadRunner.cs: Make the runner thread exit when
the target receives a SIGKILL.
2003-01-17 Martin Baulig <martin@ximian.com>
* classes/ObjectCache.cs: Catch and silently ignore exceptions
when creating the WeakReference. This makes the debugger work
with a runtime which has no GCHandle support.
2003-01-17 Martin Baulig <martin@ximian.com>
* configure.in: Don't check for gthread anymore.
* backends/server/breakpoints.c: Don't use a GStaticRecMutex here;
mono_debugger_breakpoint_manager_new () now takes two delegate
arguments - a lock an an unlock function.
* classes/BreakpointManager.cs: Create a Mutex and pass the
unmanaged breakpoint manager to delegates to lock/unlock it.
2003-01-16 Martin Baulig <martin@ximian.com>
* backends/server/i386-freebsd-ptrace.c (do_wait): FreeBSD
requires the `WLINUXCLONE' option if and only if the target is a
thread.
* backends/server/i386-ptrace.c (InferiorHandle): Added
`is_thread' field; this is set to 1 by server_ptrace_attach()
since we currently only attach to threads.
2003-01-16 Martin Baulig <martin@ximian.com>
* configure.in: Check whether we have a shared libbfd.so; if not,
tell people to read the "binutils and libbfd issues" section in
README.FreeBSD.
* README.FreeBSD: New file.
* doc/FAQ.txt: Also added this to the FAQ.
2003-01-16 Martin Baulig <martin@ximian.com>
* backends/ThreadManager.cs: Don't hardcode signal numbers.
* backends/ptrace/PTrace.cs
(ThreadAbortSignal, ThreadRestartSignal, ThreadDebugSignal,
MonoThreadDebugSignal): New static properties.
2003-01-16 Martin Baulig <martin@ximian.com>
* backends/ThreadManager.cs: Use the new thread manager in
mono/io-layer when debugging managed applications.
2003-01-15 Peter Williams <peterw@ximian.com>
* frontends/scripting/Parser.jay: Change it so that expressions
go in parentheses, not variable_expressions.
* frontends/scripting/Command.cs: supporting changes of
VariableExpressionGroup -> ExpressionGroup.
2003-01-13 Peter Williams <peterw@ximian.com>
* frontends/scripting/Command.cs: Implement a binary operator for
simple math in expressions. Make variable_expressions convertible
to expressions so that we don't need PrintCommand as well as
PrintVariableCommand. Change the default resolution of variables
to try and get their actual values. Make array index take an
expression so that we can do "$array[$i]".
* frontends/scripting/Parser.jay: Define binary operators and make
them possible expressions. Don't make processes possible expressions.
Remove the PrintVariable command since we don't need it anymore.
* frontends/scripting/Tokenizer.cs: Return the binary operator tokens
if necessary. Needs fixing to support negative numbers.
2003-01-14 Martin Baulig <martin@ximian.com>
* NEWS: The Debugger is now working on FreeBSD 4.7 :-)
2003-01-14 Martin Baulig <martin@ximian.com>
* backends/IInferior.cs (StopSignal): Removed.
* backends/ptrace/PTrace.cs (SIGSTOP, SIGINT, SIGCHLD, SIGPROF):
New static properties; initialize them in a static .ctor.
* backend/ThreadManager.cs (SignalHandler): Ignore SIGPROF as well.
2003-01-14 Martin Baulig <martin@ximian.com>
* arch/ArchitectureI386.cs: Keep the registers in sync with
DebuggerI386Registers in backends/server/i386-arch.h.
2003-01-14 Martin Baulig <martin@ximian.com>
* backends/server/i386-linux-ptrace.c: Moved the
architecture-specific stuff into i386-arch.[ch]; moved the
portable stuff into i386-ptrace.c, created i386-linux-ptrace.c and
i386-freebsd-ptrace.c.
2003-01-14 Martin Baulig <martin@ximian.com>
* configure.in (server_sources): AC_SUBST this to
i386-linux-ptrace.c on Linux and to nothing on other systems.
* backends/server/library.c: If we're on Linux, #include
"i386-linux-ptrace.c", otherwise don't read a backend at all.
2003-01-14 Martin Baulig <martin@ximian.com>
* arch/CoreFileElfI386.cs (get_registers): Read the registers from
the `.reg' section to make this more portable.
* arch/bfdglue.c (bfd_glue_core_file_elfi386_get_registers): Make
this work on FreeBSD 4.7.
2003-01-13 Martin Baulig <martin@ximian.com>
* glue/mono-debugger-readline.c: Don't use a GIOChannel here, just
read from stdin.
* classes/GnuReadline.cs: We don't need an IOChannel anymore.
2003-01-13 Martin Baulig <martin@ximian.com>
* configure.in (--disable-readline): New command line argument to
disable the use of GNU readline.
* glue/mono-debugger-readline.c: Don't use readline if we don't
have it. Only set the GIOChannel flags on startup.
2003-01-13 Martin Baulig <martin@ximian.com>
* glue/bfdglue.c (bfd_glue_core_file_elfi386_get_registers):
Changed the type of the `regs' argument to `gpointer *' to make it
portable.
* glue/bfdglue.h: Don't #include Linux-specific header files.
* configure.in: Check whether we're actually on Linux.
(--disable-gui): New command argument to disable building the gui.
2003-01-13 Martin Baulig <martin@ximian.com>
* classes/StackFrame.cs (Name): New public property. Returns the
method name from ISymbolLookup.SimpleLookup().
* frontends/gui/BacktraceView.cs: Use the new StackFrame.Name
property to get the method name.
2003-01-13 Martin Baulig <martin@ximian.com>
* interfaces/ISymbolTable.cs (ISymbolLookup.SimpleLookup): New
interface method which returns just the name of the method without
constructing the method itself.
* arch/Bfd.cs: Read the bfd symbol table and make it available via
the ISymbolLookup's SimpleLookup() method.
2003-01-13 Martin Baulig <martin@ximian.com>
* interfaces/IDisassembler.cs (DisassembleInstruction): Removed
the version which took a `ref TargetAddress'; the other one now
returns an AssemblerLine or null on error, it doesn't throw an
exception any longer.
* classes/AssemblerMethod.cs (AssemblerLine): Made this a sealed
class, not a struct so we can pass this by reference and return null.
2003-01-13 Martin Baulig <martin@ximian.com>
* classes/AssemblerMethod.cs (AssemblerMethod.AppendOneLine): New
public method to append a line at the end of the current method.
* frontends/gui/DisassemblerView.cs: While we don't have a method,
add all instructions we encounter here.
2003-01-12 Martin Baulig <martin@ximian.com>
* classes/NativeMethod.cs: Renamed to AssemblerMethod.
* classes/AssemblerMethod.cs: New public class. This derives from
MethodSource, but we don't need an IMethod any longer. The API is
also a bit improved, you can for instance get an array of
AssemberLines to access individual lines.
* interfaces/IDisassembler.cs: Return an AssemblerMethod, not an
IMethodSource.
* frontends/gui/DisassemblerView.cs: If we don't have a method,
just display the current instruction.
2003-01-12 Martin Baulig <martin@ximian.com>
* widgets/sources/debuggerwidgets/: New directory.
* widgets/sources/debuggerwidgets/debuggerentry.[ch]: New widget.
This is derived from GtkEntry and has "previos_line" and
"next_line" signals which are emitted when the user presses the
Up/Down keys.
* frontends/gui/CurrentInstructionEntry.cs: Use the new
DebuggerEntry widget; if the user presses the Up/Down keys,
display the next/previous instruction.
2003-01-12 Martin Baulig <martin@ximian.com>
* frontends/gui/DebuggerGUI.cs: Make the "Program to Debug" menu
item work again.
* frontends/gui/debugger.glade: Removed the "File / Open" and
"Debug / Restart" menu items.
2003-01-12 Martin Baulig <martin@ximian.com>
* frontends/gui/DebuggerWidget.cs: Removed all the method stuff;
we only need it in the SourceManager.
* frontends/gui/RegisterDisplay.cs (Active): New public property.
This is set to true while the CPU view is being displayed.
2003-01-11 Martin Baulig <martin@ximian.com>
* classes/StackFrame.cs
(DisassembleInstruction, DisassembleMethod): New public methods.
* frontends/gui/DisassemblerView.cs: Use StackFrame.DisassembleMethod().
2003-01-11 Martin Baulig <martin@ximian.com>
* frontends/gui/SourceView.cs: Don't derive from DebuggerWidget;
moved most of the functionality from SourceList here.
* frontends/gui/SourceList.cs: Derive from SourceView.
* frontends/gui/DisassemblerView.cs: Derive from SourceView.
* frontends/gui/SourceManager.cs: Nicely integrate the DisassemblerView.
2003-01-11 Martin Baulig <martin@ximian.com>
* frontends/gui/SourceList.cs: Moved the SourceList class from
SourceManager.cs into its own file.
2003-01-11 Martin Baulig <martin@ximian.com>
* widgets/generator/gtk-api.xml: Removed
gtk_source_buffer_get_tag_start() and gtk_source_buffer_get_tag_end().
2003-01-11 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added `MODULE ALL module_operations'
to do the operation on all modules.
2003-01-11 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added `SHOW MODULES' command and
a `MODULE' command to modify modules.
2003-01-11 Martin Baulig <martin@ximian.com>
* backends/mono-csharp/MonoCSharpLanguageBackend.cs: Incremented
MonoSymbolFileTable.DynamicVersion to 20 for the next Mono release.
2003-01-10 Peter Williams <peterw@ximian.com>
* lib/Makefile.in (clean): Remove *.dll on make clean as well as *.exe.
Also add a rule to regenerate Makefile if Makefile.in changes.
2003-01-08 Peter Williams <peterw@ximian.com>
* frontends/scripting/Makefile.in: Make the jay rule not clobber Parser.cs
if jay fails, and add a rule to regenerate Makefile if needed.
* backends/ProcessStart.cs: If no directory argument is given, assume
we're looking in the current directory.
2003-01-06 Martin Baulig <martin@ximian.com>
* configure.in: Set version number to 0.1.7 (this is an odd number
which means that we're still unstable ...)
2003-01-06 Martin Baulig <martin@ximian.com>
* doc/debugger-status.txt: Added a "How you can help with the
debugger" section.
2003-01-06 Martin Baulig <martin@ximian.com>
* doc/debugger-status.txt: Added a few notes about the current
status here.
2003-01-06 Martin Baulig <martin@ximian.com>
* doc/debugger-status.txt: Updated this document.
* doc/roadmap.txt: This one was too much outdated. Removed.
* RELEASE-NOTES-0.2.0.txt: Started to document all the cool new
features here.
2003-01-06 Martin Baulig <martin@ximian.com>
* tests/TestManagedTypes.cmd: Added a few more test cases here.
2003-01-06 Martin Baulig <martin@ximian.com>
* frontends/scripting/: It's called `accessible', not `accessable'.
2003-01-05 Martin Baulig <martin@ximian.com>
* NEWS: Added a new item :-)
* RELEASE-NOTES-0.1.0.txt: Added a comment about this release
which never really happened.
2003-01-05 Martin Baulig <martin@ximian.com>
* test/test.in: Added `test' target to run all the tests.
2003-01-05 Martin Baulig <martin@ximian.com>
* test/D.cs: Renamed to TestManagedTypes.cs.
2003-01-05 Martin Baulig <martin@ximian.com>
* lib/Debugger.exe.config.in: Moved here from ../test.
* lib/Interpreter.exe.config.in: Moved here from ../test.
* lib/: New directory. Build everything here instead of in the
test/ directory.
* test/: This directory will now contain only tests.
2003-01-05 Martin Baulig <martin@ximian.com>
* backends/IInferior.cs (Run): Added `bool redirect_fds' argument;
if false, we don't redirect stdout and stderr. This is used in
the command line interpreter.
2003-01-04 Peter Williams <peterw@ximian.com>
* configure.in (READLINE_DEPLIBS): Check to see if libreadline
needs -ltermcap and if so define it here.
* glue/Makefile.am (libmonodebuggerreadline_la_LIBADD): Use
@READLINE_DEPLIBS@ here.
2003-01-05 Martin Baulig <martin@ximian.com>
* backends/ProcessStart.cs: The way how the debugger starts the
JIT has changed; make sure to update your JIT as well.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/ScriptingContext.cs: Support non-interactive
debugging sessions; when reading commands from a file, we don't
print the current frame when we stop and all errors are always fatal.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added a couple of `assert'
commands to be used in a test suite.
2003-01-04 Martin Baulig <martin@ximian.com>
* interfaces/ITargetObject.cs (Kind): Moved to ITargetType.
* interfaces/ITargetType.cs (Kind): Moved this property here.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added "length ($a)",
"upper ($a)" and "lower ($a)" where $a is an array.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added the parent expression
"print parent ($foo)".
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added the array access
expression "print $a [5]".
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay (variable_expression): Move the
`STAR variable_expression' rule above the struct element one.
Added grouping expression "print (*$c.Object).Foo".
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Command.cs (VariableExpression): Added
`ResolveType' which returns an ITargetType (without accessing the
ITargetObject if possible).
* frontends/scripting/Parser.jay: The `show type' command now
accepts an arbitrary `variable_expression'.
2003-01-04 Martin Baulig <martin@ximian.com>
* interfaces/ITargetFundamentalObject.cs: New interface.
* interfaces/ITargetFundamentalType.cs: New interface.
* interfaces/TargetObjectKind.cs: New enum.
* interfaces/ITargetObject.cs (Kind): New property.
(HasObject, Object): Removed.
* interfaces/ITargetType.cs (HasObject): Removed.
* backends/mono-csharp/MonoFundamentalObjectBase.cs: New abstract
base class for ITargetFundamentalObject.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Command.cs (VariableExpression): Added
`ResolveVariable' method which returns an ITargetObject.
* interfaces/ITargetPointerObject.cs
(HasDereferencedObject, DereferencedObject): New properties.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added the dereferencing
expression "print *$a" where $a is a pointer or a Mono `object'.
2003-01-04 Martin Baulig <martin@ximian.com>
* frontends/scripting/Command.cs: Renamed the old
VariableExpression to VariableReferenceExpression.
(VariableExpression): New abstract class.
* frontends/scripting/Parser.jay (variable_expression): This is
now always a VariableExpression. Added scripting variables; you
can now say "set !foo = $b.Test" and then later reference it with
"print !foo".
2003-01-04 Martin Baulig <martin@ximian.com>
* backends/IInferior.cs (Bfd): New public property.
* backends/Debugger.cs: Create a MonoCSharpLanguageBackend for
core files from managed applications; use a special construction
for it, it'll only read the symbol tables once on construction.
* backends/mono-csharp/MonoCSharpLanguageBackend.cs: Provide a
second .ctor which takes a CoreFile argument and immediately reads
the symbol tables.
2003-01-04 Martin Baulig <martin@ximian.com>
* configure.in: Link against -liberty as well as -lbfd.
* classes/IOChannel.cs: Put this into the namespace Mono.Debugger.
* classes/Utils.cs: Duplicate the contents of GLib.FileUtils here;
this was the only method which we were using from glib-sharp in
the backend, so this dependency is now gone.
* test/Makefile.in: Don't link against glib-sharp.dll in the backend.
2003-01-04 Martin Baulig <martin@ximian.com>
* classes/Backtrace.cs: Don't make this abstract; move the stack
unwind stuff from the SingleSteppingEngine here.
2003-01-03 Martin Baulig <martin@ximian.com>
* interfaces/IProcess.cs: Don't implement ITargetNotification.
(IProcess.GetMemoryMaps): New method.
* backends/SingleSteppingEngine.cs: Implement ITargetAccess and
IProcess.
* backends/TargetMemoryArea.cs: Moved to ../classes.
* classes/TargetMemoryArea.cs: Moved here from ../backends; the
.ctor is now public.
2003-01-03 Martin Baulig <martin@ximian.com>
* backends/mono-csharp/MonoCSharpLanguageBackend.cs: Breakpoints
in not-yet-JITed methods are finally working again :-)
2003-01-02 Martin Baulig <martin@ximian.com>
* frontends/command-line/Main.cs: If the user gave any command
line arguments, immediately start the program.
* frontends/scripting/Parser.jay: The `start' command no longer
has any default arguments, so it doesn't accept an empty list anymore.
2003-01-02 Martin Baulig <martin@ximian.com>
* backends/Process.cs (Process.Inferior): Removed this property.
The IInferior is now a private interface and is not exposed to the
outside.
2003-01-02 Martin Baulig <martin@ximian.com>
* interfaces/ILanguageBackend.cs: Moved to ../backends.
* backends/ILanguageBackend.cs: This is now an internal interface.
(BreakpointHit, GetTrampoline): Take an IInferior, not an
IProcess argument.
* classes/Module.cs (Module.Language): The return type of this
property is now `object'.
* arch/BfdContainer.cs: Don't implement ILanguageBackend.
2003-01-02 Martin Baulig <martin@ximian.com>
* arch/CoreFile.cs: Don't implement IInferior, just IProcess and
ITargetAccess.
2003-01-02 Martin Baulig <martin@ximian.com>
* classes/AddressDomain.cs: New global class.
* classes/TargetAddress.cs: Use an instance of the new
AddressDomain class as the domain instead of just an `object'.
The AddressDomain has a name and an unique ID which is now used in
all error messages - this helps you a lot if you're evey wondering
why a comparision fails with an ArgumentException.
2003-01-01 Martin Baulig <martin@ximian.com>
* interfaces/ITargetMemoryAccess.cs (ITargetMemoryInfo): New
interface; derives from ITargetInfo; added `AddressDomain' and
'GlobalAddressDomain' properties.
(ITargetMemoryAccess): Derive from ITargetMemoryInfo.
* arch/*.cs: Don't use the IInferior here.
2003-01-01 Martin Baulig <martin@ximian.com>
* interfaces/ITargetMemoryAccess.cs (ITargetAccess): New
interface; derives from ITargetMemoryAccess has has a function to
read a register.
* arch/ArchitectureI386.cs: The ctor now takes an ITargetAccess
and the global address domain; we don't use the IInferior here any
longer.
2003-01-01 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.cs: Added `disassemble' and
`disassemble method' commands.
2003-01-01 Martin Baulig <martin@ximian.com>
Happy New Year 2003 :-)
* classes/Backtrace.cs: New public class; we're now using an
instance of this class instead of a `StackFrame[]' for a backtrace.
* classes/StackFrame.cs (Register): New public struct.
(StackFrame.Registers): New abstract property.
* backends/process.cs (Process.GetBacktrace): Return a Backtrace,
not a StackFrame[].
* arch/ArchitectureI386.cs (UnwindStack): New function to unwind
the stack to get the registers of another stack frame.
2002-12-31 Martin Baulig <martin@ximian.com>
This is the end of the Year 2002.
* frontends/scripting/Parser.jay: Implemented the `$a.Test'
expression to access a struct/class field.
2002-12-31 Martin Baulig <martin@ximian.com>
* classes/StackFrame.cs: Made this class abstract.
(Handle): Removed this property.
(LocalsAddress, ParamsAddress): New abstract properties.
(TargetMemoryAccess): New abstract property.
* classes/SingleSteppingEngine.cs: Explicitly implement
ITargetMemoryAccess; we're sending a sync_command for each
operation. This is used to read the target's memory.
2002-12-31 Martin Baulig <martin@ximian.com>
* frontends/scripting/Parser.jay: Added `print $name'.
2002-12-31 Martin Baulig <martin@ximian.com>
* frontends/scripting/Tokenizer.cs: Only recognize the short
keywords at the start of the line; `$' starts an identifier, so
don't recognize any keywords in it.
* frontends/scripting/Parser.jay: Added `show type $name' to show
the type of a variable/parameter.