Commit Graph

47 Commits

Author SHA1 Message Date
mattias
0924792e5f fpdebug: using TProcessUTF8
git-svn-id: trunk@50596 -
2015-12-04 16:03:20 +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
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
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
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
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
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
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
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
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
02c66deadd FpDebugger (pure): Implemented pause (Darwin)
git-svn-id: trunk@45865 -
2014-07-14 20:11:02 +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
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
3db6e1f4dc FpDebug (pure): Set uninitialized function result
git-svn-id: trunk@45766 -
2014-07-03 19:40:45 +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
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
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
22e7389619 FpDebugger (pure): Refactored creation of new TDbgThreads
git-svn-id: trunk@45407 -
2014-06-08 18:59:06 +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
7539c6e5ff FpDebug (pure): Debug 64-bit binaries on OS/X
git-svn-id: trunk@45229 -
2014-05-29 20:19:49 +00:00
joost
7ba1fd42b7 LazDebuggerFp (pure): Exception handling on OS/X
git-svn-id: trunk@44978 -
2014-05-08 19:13:29 +00:00
joost
31762452ae LazDebuggerFp (pure): Handle working-directory and environment of debuggee
git-svn-id: trunk@44936 -
2014-05-06 19:25:38 +00:00
joost
04283997b4 LazDebuggerFp (pure): Pass arguments to debuggee
git-svn-id: trunk@44928 -
2014-05-05 20:15:42 +00:00
joost
17f29c4ac2 FpDebug: Implemented GetStackPointerRegisterValue on Darwin
git-svn-id: trunk@44904 -
2014-05-04 11:10:27 +00:00
joost
96991a9a84 FpDebug: Fixed compilation with range-checking on
git-svn-id: trunk@44727 -
2014-04-14 16:46:03 +00:00
joost
8f5701ed19 LazDebuggerFp (pure): Hide software breakpoints (int3) on reading data
git-svn-id: trunk@44704 -
2014-04-12 16:24:46 +00:00
joost
c7e539dc46 LazDebuggerFp (pure): Added reading of register support to TDbgMemReader.
git-svn-id: trunk@44689 -
2014-04-11 21:10:34 +00:00
joost
98f4a08663 LazDebuggerFp (pure): Fixed single-stepping on OS/X
git-svn-id: trunk@44685 -
2014-04-11 20:06:36 +00:00
joost
dbbdddb97a LazDebuggerFp (pure): Fix for compilation on newer fpc-versions, where TProcess.OnForEvent is a method
git-svn-id: trunk@44684 -
2014-04-11 19:54:11 +00:00
joost
982b409e26 LazDebuggerFp (pure): Fixed information in debugline
git-svn-id: trunk@44683 -
2014-04-11 19:42:55 +00:00
joost
67f3dec675 LazDebuggerFp (pure): Removed obsolete TFPDState
git-svn-id: trunk@44673 -
2014-04-11 09:25:29 +00:00
joost
499c7ed593 LazDebuggerFp (pure): Show register-values on OS/X
git-svn-id: trunk@44658 -
2014-04-09 08:25:46 +00:00
joost
1c21a9a593 FpDebug: REmoved unused BaseAddr and StartAdd for threads.
git-svn-id: trunk@44622 -
2014-04-06 14:52:28 +00:00
joost
e6983321d8 * Reset a breakpoint after hitting it
git-svn-id: trunk@44605 -
2014-04-04 20:17:17 +00:00
joost
e9f865d7b8 FpDebug: Fix compilation after r44595 #ab2522e911
git-svn-id: trunk@44596 -
2014-04-03 19:19:07 +00:00
joost
ab2522e911 FpDebug: Make sure that all signals of a process are handled after the process has been terminated. That to avoid mixing these signals with signals of other processes
git-svn-id: trunk@44595 -
2014-04-03 19:17:01 +00:00
joost
6a13624f76 * Use TProcess to start debuggee, since it handles stuff like stdin/out, environment variables and such
* Ability to kill debuggee
 * Resolve location of dSym bundle of application-bundles properly

git-svn-id: trunk@44560 -
2014-03-30 20:28:32 +00:00
joost
89248a3340 * Add ability to debug OS/X application-folders
git-svn-id: trunk@44552 -
2014-03-29 19:42:36 +00:00
joost
3f36dd3c53 FpDbg: Implemented single-stepping on Darwin
git-svn-id: trunk@44500 -
2014-03-23 20:54:32 +00:00
joost
fa16dcdf52 FpDbg: Use dSYM bundle on Darwin to read Dwarf debug-info for executable
git-svn-id: trunk@44495 -
2014-03-23 15:05:31 +00:00
joost
d43aefb1a6 FpDbg: Fixed AV when the debugged application has been terminated
git-svn-id: trunk@44494 -
2014-03-23 14:07:28 +00:00
joost
434c770d67 FpDbg: Show correct value of eip after hitting a breakpoint
git-svn-id: trunk@44450 -
2014-03-16 22:11:19 +00:00
joost
042680da83 FpDbg: Basic breakpoint-handling on Darwin
git-svn-id: trunk@44448 -
2014-03-16 21:24:27 +00:00
joost
459a825fc2 FpDbg: Read register-information on Darwin
git-svn-id: trunk@44442 -
2014-03-16 11:24:51 +00:00
joost
c20f74439d * Implemented basic debug-support for Darwin
git-svn-id: trunk@44413 -
2014-03-12 21:35:06 +00:00