joost
640226c89b
FpDebug: Forgot to include file in r48864 #c53e775af5
...
git-svn-id: trunk@48865 -
2015-04-25 19:18:08 +00:00
joost
c53e775af5
FpDebug: The developers at Apple were not able to build a linker
...
with the ability to deal with Dwarf-debug info. Added the ability
to read the Dwarf-debug info from the object files and to map the
corresponding addresses to their position in the final executable.
git-svn-id: trunk@48864 -
2015-04-25 19:15:09 +00:00
joost
5e3d796544
FpDebug: Removed unused overload of GetImageReader
...
git-svn-id: trunk@48846 -
2015-04-25 11:12:55 +00:00
joost
6469a000d3
FpDebug: Removed empty method.
...
git-svn-id: trunk@48639 -
2015-04-05 20:23:20 +00:00
joost
8f9d2106db
FpDebug: Re-structured the reading of debug-information from multiple files.
...
git-svn-id: trunk@48638 -
2015-04-05 20:08:17 +00:00
joost
25cd93d480
FpDebug: Do not overwrite data (and create mem-leaks) when there are sections with duplicate names
...
git-svn-id: trunk@48595 -
2015-04-02 20:40:13 +00:00
joost
8b06480841
FpDebug: Avoid endless exceptions when the debugger does not have enough rights to debug on Darwin.
...
git-svn-id: trunk@48515 -
2015-03-26 20:30:56 +00:00
joost
0923ac9836
FpDebug: - Ability to disable usage of a pseudo-tty
...
- Ability to supply tty to bind standard input/output to
git-svn-id: trunk@48450 -
2015-03-22 01:08:00 +00:00
joost
a479c66ebe
fpdebug: Pass parameters to the debuggee in the console-version
...
git-svn-id: trunk@47519 -
2015-01-25 17:37:34 +00:00
joost
f4818c2bfd
FpDebug: Do not stop on lines with unknown line info (linenr=0)
...
git-svn-id: trunk@47222 -
2014-12-19 10:42:19 +00:00
joost
a3f3091a75
* Extract debug-info from real executable when debugging an application folder
...
git-svn-id: trunk@47188 -
2014-12-13 09:15:26 +00:00
joost
3dcfa14f49
* Avoid AV when the loaded faied to initiate a valid ImgReader
...
git-svn-id: trunk@47187 -
2014-12-13 09:06:40 +00:00
martin
bb622e5b7b
Fpdebug: display more values
...
git-svn-id: trunk@47131 -
2014-12-07 22:25:24 +00:00
mattias
bd1655b970
fpdebug: clean up
...
git-svn-id: trunk@46945 -
2014-11-21 23:47:27 +00:00
mattias
27e32c8bad
lazdebuggerfp: clean up
...
git-svn-id: trunk@46944 -
2014-11-21 23:44:10 +00:00
mattias
41e211ac48
fpdebug: fixed compilation
...
git-svn-id: trunk@46909 -
2014-11-20 22:12:54 +00:00
martin
80a15d2141
Suppress VALID warnings until review
...
git-svn-id: trunk@46907 -
2014-11-20 16:34:23 +00:00
martin
56a4a31450
fix some warnings
...
git-svn-id: trunk@46906 -
2014-11-20 16:27:55 +00:00
joost
9616a4ffe4
FpDebugger (pure): TFpSymbolContext.GetSizeOfAddress now returns 8 for 64-bit debuggees
...
git-svn-id: trunk@46163 -
2014-09-08 19:53:40 +00:00
joost
bee90dd030
FpDebugger (pure): Same change as in r46136 #4b8e6daa2f, but for step into, to avoid problems in fpc-generated debuginfo
...
git-svn-id: trunk@46162 -
2014-09-08 19:44:13 +00:00
joost
2725568fae
FpDebug: Give a warning when the UUID of the dSym-bundle and the debuggee do not match
...
git-svn-id: trunk@46149 -
2014-09-07 11:25:34 +00:00
joost
2d61f083f6
FpDebugger (pure): When stepping out of a function on a next, only stop at the first instruction of a line. Just like it is done on step into.
...
git-svn-id: trunk@46147 -
2014-09-06 20:50:12 +00:00
joost
9070ac0b2c
FpDebugger (pure): Added logging, enable with define DBG_FPDEBUG_VERBOSE
...
git-svn-id: trunk@46143 -
2014-09-06 18:40:30 +00:00
joost
4b8e6daa2f
FpDebugger (pure): On a next, only stop if the current instruction is the first instruction of a line. This is to solve a problem in fpcs debuginfo.
...
git-svn-id: trunk@46136 -
2014-09-05 20:37:43 +00:00
joost
25ff00e44c
FpDebugger (pure): Solved mem-leaks by releasing references to symbols found by FindSymbol
...
git-svn-id: trunk@46132 -
2014-09-05 16:49:36 +00:00
joost
851695cec4
FpDebugger (native): Fix for setting a breakpoint on the current execution-point
...
git-svn-id: trunk@46122 -
2014-09-03 20:16:53 +00:00
joost
d28ad93b73
fpDebug: Revert of files accidentally committed in r46119 #afc3882ca7
...
git-svn-id: trunk@46120 -
2014-09-03 14:44:07 +00:00
joost
afc3882ca7
FpDebug: Disabled range-checking to fix range-check error. The fix in r46105 #bbf07c5bd6 leads to a datastructure which is too large for 32 bit
...
git-svn-id: trunk@46119 -
2014-09-03 14:39:44 +00:00
joost
bbf07c5bd6
FpDebug: Fixed range-check error on reading debug-info with more then maxSmallint symbols
...
git-svn-id: trunk@46105 -
2014-09-02 19:34:58 +00:00
joost
f1bdd969f5
FpDebugger (pure, console): Fixed mem-leak on showing line-info
...
git-svn-id: trunk@46103 -
2014-09-01 16:38:41 +00:00
joost
ddfbd6ade9
FpDebugger (pure): Fixed mem-leak bij freeing debug-threads
...
git-svn-id: trunk@46102 -
2014-09-01 16:26:08 +00:00
joost
9c5f82c924
FpDebugger (pure): Fixed mem-leak by freeing FProcessMap
...
git-svn-id: trunk@46101 -
2014-09-01 15:45:36 +00:00
joost
5bc5c42c07
FpDebug: Fixed the index-calculation for Dwarf-3 encoded strings
...
git-svn-id: trunk@46096 -
2014-08-31 16:12:38 +00:00
joost
27c60931ec
FpDebugger (native): Use a pseudo-terminal to capture console output on OS/X
...
git-svn-id: trunk@46095 -
2014-08-31 12:45:43 +00:00
joost
7b1dd835cd
FpDebug: Evaluate Dwarf-3 dynamic array/string upper value bound
...
git-svn-id: trunk@46091 -
2014-08-30 18:46:05 +00:00
joost
d062000bf3
FpDebug: Another fix for the length of DW_FORM_ref_addr in Dwarf v3
...
git-svn-id: trunk@46075 -
2014-08-25 20:50:08 +00:00
joost
289f8e8657
FpDebug: Set function result in TFpDwarfInfo.FindContext
...
git-svn-id: trunk@46074 -
2014-08-25 18:53:29 +00:00
joost
bdbccce289
FpDebugger (pure): Use a pseudo-terminal instead of pipes to read the debuggees out- and in-put
...
git-svn-id: trunk@46070 -
2014-08-24 12:22:23 +00:00
joost
daaa427f54
FpDebugger (pure): Re-direct console output to the terminal-output debug window on Linux
...
git-svn-id: trunk@46058 -
2014-08-22 15:47:46 +00:00
joost
8fd0269bae
FpDebug (pure): Detect if a HW breakpoint has been triggered on Linux
...
git-svn-id: trunk@46045 -
2014-08-16 21:40:08 +00:00
joost
93aea56c3b
FpDebugger (pure): New heuristics for step-into
...
git-svn-id: trunk@46008 -
2014-08-04 08:14:13 +00:00
joost
c43ebefc0f
FpDebugger (pure): - Fixed problem with the recognition of a software breakpoint when a hardware breakpoint has been triggered on the same location
...
- Ability to check if and which hardware brakpoint has been triggered
git-svn-id: trunk@46006 -
2014-08-03 20:09:46 +00:00
joost
ac95b9c55d
FpDebugger (pure): Patch from Colin Western to resolve relative filenames in Dwarf-debug info.
...
git-svn-id: trunk@45933 -
2014-07-20 13:27:52 +00:00
joost
be7b70f172
FpDebugger (pure): Re-wrote RunTo using a TDbgControllerCmd
...
git-svn-id: trunk@45900 -
2014-07-17 18:53:58 +00:00
joost
b1d95c58dc
FpDebugger (pure): Ignore SIGCHLD signal and let the debuggee handle it (Darwin)
...
git-svn-id: trunk@45885 -
2014-07-15 20:37:36 +00:00
joost
22ff8ae3ff
FpDebugger (pure): Ignore SIGCHLD signal and let the debuggee handle it (Linux)
...
git-svn-id: trunk@45884 -
2014-07-15 20:35:21 +00:00
joost
636ffbe4da
FpDebugger (pure): Fixed compilation with fpc 2.6.4 on OS/X and Linux
...
git-svn-id: trunk@45874 -
2014-07-15 06:35:46 +00:00
joost
93618ffad0
FpDebugger (pure): Implemented pause (Linux)
...
git-svn-id: trunk@45867 -
2014-07-14 20:32:01 +00:00
joost
e5f73f7d0f
FpDebuger (pure): Fix for pausing the debuggee
...
git-svn-id: trunk@45866 -
2014-07-14 20:28:34 +00:00
joost
02c66deadd
FpDebugger (pure): Implemented pause (Darwin)
...
git-svn-id: trunk@45865 -
2014-07-14 20:11:02 +00:00
joost
113cc3749d
FpDebug: Parse the symbol-table from elf-executables
...
git-svn-id: trunk@45858 -
2014-07-13 20:59:00 +00:00
joost
89f94d01be
FpDebugger (pure): Watchpoints on 32-bit linux
...
Removed some old debug-code
git-svn-id: trunk@45854 -
2014-07-13 11:23:07 +00:00
joost
eaf0dffc07
FpDebugger (pure): Make step-into work even without having watchpoints available. (Even though it will be slow)
...
git-svn-id: trunk@45851 -
2014-07-13 10:24:03 +00:00
joost
eb735a3db1
FpDebugger (pure): Fix for getting the frame-pointer
...
git-svn-id: trunk@45850 -
2014-07-13 10:05:14 +00:00
joost
8397b21039
FpDebugger (pure): Show error-message on failure to start debuggee
...
git-svn-id: trunk@45848 -
2014-07-12 21:05:22 +00:00
joost
769fbc3cde
FpDebug: Removed invalid code that does not compile with fpc 2.7.1 (see fpc-bug 25769)
...
git-svn-id: trunk@45847 -
2014-07-12 19:51:06 +00:00
joost
e76f27604f
FpDebug: Synchronized changes in fpdebug.lpk (r45780) with fpdebug.pas
...
git-svn-id: trunk@45846 -
2014-07-12 18:56:17 +00:00
joost
113cc6e509
FpDebugger (pure): Show warning when there is no Dwarf-debug information available
...
git-svn-id: trunk@45843 -
2014-07-12 15:40:00 +00:00
joost
c670807110
FpDebugger (pure): Use GETREGSET instead of GETREGS, cross-arch-debugging on Linux
...
git-svn-id: trunk@45842 -
2014-07-12 15:30:46 +00:00
joost
42ba440a7d
FpDebugger (pure): i386-linux support
...
git-svn-id: trunk@45834 -
2014-07-11 21:29:07 +00:00
joost
3dd28b3d12
FpDebugger (pure): Select the right 32/64-bit assembler when cross-debugging
...
git-svn-id: trunk@45833 -
2014-07-11 19:58:35 +00:00
joost
ad1e0f1a6e
FpDebugger (pure): Re-added some Darwin-specific stuff that got lost somehow (probably never comitted)
...
git-svn-id: trunk@45821 -
2014-07-10 21:07:35 +00:00
joost
600fc1036c
FpDebugger (pure): Let the memory-manager read memory from within the debugging-thread on Linux.
...
More fixes for getting the instruction-register on x86_64
Fixxed setting the line-info on Darwin and Linux
git-svn-id: trunk@45817 -
2014-07-08 21:15:04 +00:00
joost
bcb2f4643e
FpDebugger (pure): Hardware-breakpoints on Linux/x86_64
...
git-svn-id: trunk@45794 -
2014-07-06 16:26:16 +00:00
joost
a0fe6adf48
FpDebugger (pure): Do not try to compile the linux-units on non-linux systems
...
git-svn-id: trunk@45780 -
2014-07-04 21:44:37 +00:00
joost
8f433367c7
FpDebugger (pure): Use a TFPGObjectList to free the items. Fixes several mem-leaks
...
git-svn-id: trunk@45779 -
2014-07-04 20:11:51 +00:00
joost
982f401425
FpDebugger (pure): Cleanup unused variables
...
git-svn-id: trunk@45778 -
2014-07-04 20:00:08 +00:00
joost
64a67e7166
FpDebugger (pure): Fix for getting the frame- and instruction-pointer from the callstack on architectures other then i386
...
git-svn-id: trunk@45777 -
2014-07-04 19:26:26 +00:00
joost
91d19d2124
FpDebug: Revert of accidentally committed files in r45775 #0fac0512c8
...
git-svn-id: trunk@45776 -
2014-07-04 19:20:17 +00:00
joost
0fac0512c8
FpDebug (pure): Fix for format-parameters in error-message
...
git-svn-id: trunk@45775 -
2014-07-04 19:13:35 +00:00
joost
f38e91869e
FpDebug: DW_FORM_strps lenght equals the adres size in Dwarf 1/2
...
git-svn-id: trunk@45774 -
2014-07-04 19:01:06 +00:00
joost
3db6e1f4dc
FpDebug (pure): Set uninitialized function result
...
git-svn-id: trunk@45766 -
2014-07-03 19:40:45 +00:00
joost
e48fb34a9a
FpDebug (pure): Do not try to set register-values twice
...
git-svn-id: trunk@45765 -
2014-07-03 19:37:41 +00:00
joost
5f0402b4c2
FpDebug (pure): Added Linux-support
...
git-svn-id: trunk@45732 -
2014-06-29 20:55:54 +00:00
joost
147a8bf840
FpDebugger (console): Show registers
...
git-svn-id: trunk@45650 -
2014-06-24 20:03:28 +00:00
joost
b8018f83f3
FpDebug (pure): Add/remove 64-bit watchpoints on Darwin
...
git-svn-id: trunk@45649 -
2014-06-24 17:36:36 +00:00
joost
4171928dd9
LazDebuggerFp (pure): Improved handling of step-over/into-line, when a library is loaded, a breakpoint is hit or when stepping out of a procedure.
...
git-svn-id: trunk@45595 -
2014-06-21 19:10:03 +00:00
joost
843f23eafd
LazDebuggerFp (pure): Rewrote/refactored ResolveDebugEvent. As much as possible code moved from the os-specific classes to the general classes. Now TDbgProcess and TDbgThread only handle single-stepping and the handling of breakpoints and exceptions. Other commands (like step-line, step-into-line etc) are implemented as childs of TDbgControllerCmd. All specific handling is done in those classes.
...
git-svn-id: trunk@45590 -
2014-06-20 15:22:45 +00:00
joost
0016101b7f
FpDebugger (pure): Show a message when starting the debuggee has failed. With some special attention to the case that someone tries to debug a 64 bit application with a 32 bit debugger.
...
git-svn-id: trunk@45432 -
2014-06-09 16:29:25 +00:00
joost
1b1997f370
FpDebugger (pure): Changed notification-level for errors during reading memory from dllInfo to dllDebug. It is quite normal that a debugger tries to read memory from invalid addresses.
...
git-svn-id: trunk@45428 -
2014-06-09 12:36:51 +00:00
joost
56442faf8e
FpDebugger (pure): Set the correct register-sizes for x86_64-win64.
...
git-svn-id: trunk@45427 -
2014-06-09 12:16:38 +00:00
joost
6818c26a68
FpDebugger (pure): Updated the Dwarf-register number information on OS/X, see x86reg.dat/amd64-tdep.c.
...
git-svn-id: trunk@45426 -
2014-06-09 11:56:47 +00:00
joost
a3149e411e
FpDebugger (pure): Updated the Dwarf-register number information on Windows, see x86reg.dat/amd64-tdep.c.
...
git-svn-id: trunk@45425 -
2014-06-09 10:34:49 +00:00
joost
eaef9905a5
FpDebugger (console): Several improvements on the output of the console-debugger
...
git-svn-id: trunk@45424 -
2014-06-09 09:35:28 +00:00
joost
5c3fd8af1d
FpDebugger (pure): Let the kernel close the debug-handle after an application has quit. (bug #25986 )
...
git-svn-id: trunk@45423 -
2014-06-09 09:33:32 +00:00
joost
f746dc6a42
FpDebugger (console): Use 'Debug' and 'Error' prefixes for dllError and dllDebug messages.
...
git-svn-id: trunk@45410 -
2014-06-08 22:33:32 +00:00
joost
9052ce0136
FpDebugger (pure): Use the (thread-safe) log system instead of DebugLn
...
git-svn-id: trunk@45409 -
2014-06-08 22:22:50 +00:00
joost
22e7389619
FpDebugger (pure): Refactored creation of new TDbgThreads
...
git-svn-id: trunk@45407 -
2014-06-08 18:59:06 +00:00
joost
24a6aab526
FpDebugger (pure): Retrieve the file-names of loaded processes and modules.
...
git-svn-id: trunk@45400 -
2014-06-08 13:18:23 +00:00
joost
d3edca108f
FpDebugger (pure): Fixed the handling of a debuggee that starts child-processes
...
git-svn-id: trunk@45391 -
2014-06-08 00:13:50 +00:00
joost
3fb55d6ed6
FpDebug (pure): Added thread-safe loggingsystem with three log-levels. The log-levels dllInfo and dllError are used to show messages/errors in the ide.
...
The new log-system is used to show a message when there is no dSym-bundle with Dwarf-debug info or if the ide has not enough rights to debug applications. (OS/X)
git-svn-id: trunk@45382 -
2014-06-07 14:27:48 +00:00
joost
51c0c59b2b
FpDebug (pure): Changes for cross-debugging
...
git-svn-id: trunk@45315 -
2014-06-03 06:15:08 +00:00
joost
b526979d64
FpDebugger (pure): Removed excessive debug-output.
...
git-svn-id: trunk@45292 -
2014-06-01 19:46:06 +00:00
joost
2692d96325
FpDebug: Fixed AV in console-debugger due to an uninitialized variable
...
git-svn-id: trunk@45291 -
2014-06-01 18:29:42 +00:00
joost
d72d8c2db8
FpDebug: Partly revert of accidentally committed r45286 #0275eec89b. The part that hasn't been reverted is the removal of the dependency on LCLbase.
...
git-svn-id: trunk@45287 -
2014-06-01 16:41:11 +00:00
joost
0275eec89b
git-svn-id: trunk@45286 -
2014-06-01 16:28:56 +00:00
joost
62bcb922cd
FpDebugger (pure): x86_64-debugging on Win64. (Win32-win64 cross-debugging not possible on Windows. Win64-win32 is still not implemented)
...
git-svn-id: trunk@45284 -
2014-06-01 16:27:35 +00:00
joost
2293aef061
FpDebug (pure): Fixed some constant values
...
git-svn-id: trunk@45233 -
2014-05-30 09:21:52 +00:00
joost
7539c6e5ff
FpDebug (pure): Debug 64-bit binaries on OS/X
...
git-svn-id: trunk@45229 -
2014-05-29 20:19:49 +00:00
joost
53076fb0cb
FpDebug: In 64-bit binaries the size of references to Dwarf-data is not dependent on the address-size, but on the Dwarf-format being in 64-bit format
...
git-svn-id: trunk@45227 -
2014-05-29 20:15:15 +00:00