#
c8d82cf6 |
|
19-Dec-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Started adding x86_64 support to Debugger. Stack tracing doesn't work yet, nor does single stepping (somehow manages to completely freeze the system).
|
#
35cadd6f |
|
05-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add watchpoint support in DebuggerInterface.
|
#
6e3918fa |
|
08-Aug-2012 |
Rene Gollent <anevilyak@gmail.com> |
Don't release reference if we don't have one. Fixes a crash seen if Debugger was run on an unsupported architecture, e.g. x86-64 (for now).
|
#
7483c98d |
|
05-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger (and some friends): 64 bit fixes
|
#
36914962 |
|
10-Jul-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix #8709. - The buffer that the debugger used to retrieve messages from the debug port was slightly too small for the largest of the message data structs (currently 1100 bytes), causing some types of debug events to get truncated. This resulted in image creation/deletion events being received with a truncated image_info struct, which would result in several fields being returned with random values, most notably the text/data base and size fields. Consequently, searching those images for an address within them would fail, leading to #8709. It's possible but not yet confirmed that this bug is also responsible for #8710, need to test further.
|
#
6a5ce301 |
|
15-May-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Move functions declared in private/system/system_info.h out of the public namespace. * prepend private functions get_system_info_etc(), start_watching_system() and stop_watching_system() with '__' * adjust callers accordingly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41517 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
11e3001c |
|
16-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Cleanup: multiplex debug and system watch messages across a single port. Simplify accordingly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39875 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d23cadce |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
[_{kern,user}_]{start,stop}_system_watching() -> [_{kern,user}_]{start,stop}_watching_system() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c3e066cf |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e37327bd |
|
15-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Check for port deletion. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
892f9442 |
|
15-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Slight refactoring. Also, always process all waiting debugger events before any system watch events, since otherwise there's a potential race where we might try to process a thread rename before having processed the notification for that thread's creation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39867 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba3f23c6 |
|
15-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Re-implement watching for thread name changes via the new thread property change notification interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39866 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27a115f6 |
|
14-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Revert r39846 and r39847. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39849 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8fb7eb8b |
|
13-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Implement support for catching rename and thread priority change events. This lets us keep up to date with thread names, which makes, for example Tracker a bit more tolerable to debug since it employs thread renaming to set the names of its windows. Implements #4430. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39847 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8d8864e1 |
|
13-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Add WriteMemory hooks to TeamMemory / DebuggerInterface to go with ReadMemory. Will be used in the (eventual) memory inspection tool. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39844 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9b10dea |
|
03-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Extended ImageInfo and Image so they know the image type. * Added DebuggerInterface::GetSymbolInfo(). * Implementing stopping the thread in main() when the debugger started the debugged program. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31393 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fef6a27d |
|
23-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved killing/resuming the team to DebuggerInterface::Close(). * Made the TeamDebugger safer for the case that the initialization failed early. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31218 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c439b23 |
|
22-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added {Install,Uninstall}Breakpoint(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31188 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
faa04e8d |
|
21-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also return the "commpage" image as one of the team's images. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31171 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0b60fa86 |
|
20-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added DebuggerInterface::GetSymbolInfos() to get the symbols for an image. * Added the beginnings of the debug info abstraction. Currently we can only load the symbols via the debugger. * Added a job to retrieve debug info for an image. Extended the GetStackTraceJob to support waiting for image debug info to be loaded. * Extended ImageInfo by text/data address and size. * Removed StackFrameX86 and made StackFrame a simple non-polymorphic class featuring all the needed data. The really architecture-dependent is in the referenced CpuState already. Added Image* and FunctionDebugInfo* attributes, referring to the image respectively debug info for the function hit by the instruction pointer. * Switched StrackTrace's StackFrame management from DoublyLinkedList to BObjectList. This makes it more comfortable to use. * Changed the code for creating stack traces: - The creation of the StackTrace object and the main loop to collect the frames are now located in the no longer virtual Architecture::CreateStackTrace(). - The decision how to create a StackFrame is based on the instruction pointer. If it hit a function for which debug info is available, the respective DebugInfo::CreateStackFrame() is used, otherwise we fall back to the new virtual Architecture::CreateStackFrame(). * Adjusted the stack trace view to also show function names (mangled ATM). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31142 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1ae2cffc |
|
19-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added ReadMemory(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31125 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c42fe1eb |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work on the architecture abstraction, particularly regarding information about what registers the architecture has and how to get them from the CpuState. Implemented the respective x86 part. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3c4cb05b |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We can't only use a single debug context, if we want to allow multiple threads to play with us without blocking. Implemented a pool of debug contexts instead. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31108 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b6aff5aa |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added notifications for thread state/CPU state/stack trace changes. The team window listens for those and updates the buttons correctly. * Added basic handling for the thread stopping debug events in the team debugger. * Forward the thread run/stop/step requests to the team debugger and actually run/stop/step the thread. Running/stopping works, all three stepping actions just step by a single instruction ATM, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31107 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a81bb42a |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Beginnings of the architecture abstraction. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31104 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f208695c |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved all interaction with the kernel/debugger interface into new class DebuggerInterface. This will simplify adding support for remote debugging eventually. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31100 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
35cadd6f3cda83bfd58be558ce287157acc9174e |
|
05-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add watchpoint support in DebuggerInterface.
|
#
6e3918fa63cf2657089ccb2eccc3820ab3e1f86e |
|
08-Aug-2012 |
Rene Gollent <anevilyak@gmail.com> |
Don't release reference if we don't have one. Fixes a crash seen if Debugger was run on an unsupported architecture, e.g. x86-64 (for now).
|
#
7483c98dece8f3606fc5d3fd746c0544f7e4b6dd |
|
05-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger (and some friends): 64 bit fixes
|
#
369149622268fa194fc43e15b4f6889db15949c6 |
|
10-Jul-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix #8709. - The buffer that the debugger used to retrieve messages from the debug port was slightly too small for the largest of the message data structs (currently 1100 bytes), causing some types of debug events to get truncated. This resulted in image creation/deletion events being received with a truncated image_info struct, which would result in several fields being returned with random values, most notably the text/data base and size fields. Consequently, searching those images for an address within them would fail, leading to #8709. It's possible but not yet confirmed that this bug is also responsible for #8710, need to test further.
|
#
6a5ce301209d871e4c675fe9518315830ab71733 |
|
15-May-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Move functions declared in private/system/system_info.h out of the public namespace. * prepend private functions get_system_info_etc(), start_watching_system() and stop_watching_system() with '__' * adjust callers accordingly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41517 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
11e3001c3f385198fb783a7a135da9116ce5f1ff |
|
16-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Cleanup: multiplex debug and system watch messages across a single port. Simplify accordingly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39875 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d23cadce4cdbd4e891a2aedf4f82f252f71d2461 |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
[_{kern,user}_]{start,stop}_system_watching() -> [_{kern,user}_]{start,stop}_watching_system() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c3e066cf6d35a86d29396d4e740f9811e506b66c |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e37327bd6bb8196ccc6e6aabdce7935bbb7bc86e |
|
15-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Check for port deletion. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
892f94425130fb65a005fad87a259626509b8b7e |
|
15-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Slight refactoring. Also, always process all waiting debugger events before any system watch events, since otherwise there's a potential race where we might try to process a thread rename before having processed the notification for that thread's creation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39867 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba3f23c6366342798a0f61b7767e7533ebfdc0b4 |
|
15-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Re-implement watching for thread name changes via the new thread property change notification interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39866 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27a115f6685cc7821dd2ab6d528d6f3abe70158d |
|
14-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Revert r39846 and r39847. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39849 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8fb7eb8b17ab5d027a896e393b057cc6939dc78c |
|
13-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Implement support for catching rename and thread priority change events. This lets us keep up to date with thread names, which makes, for example Tracker a bit more tolerable to debug since it employs thread renaming to set the names of its windows. Implements #4430. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39847 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8d8864e1626664bbcb0a9b1c626e63bb1983f0e3 |
|
13-Dec-2010 |
Rene Gollent <anevilyak@gmail.com> |
Add WriteMemory hooks to TeamMemory / DebuggerInterface to go with ReadMemory. Will be used in the (eventual) memory inspection tool. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39844 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9b10dea3bc62910fc0123a9751a4fa1c8b98f69 |
|
03-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Extended ImageInfo and Image so they know the image type. * Added DebuggerInterface::GetSymbolInfo(). * Implementing stopping the thread in main() when the debugger started the debugged program. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31393 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fef6a27d78eed65615cb7887a40bbcaebe12dbe9 |
|
23-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved killing/resuming the team to DebuggerInterface::Close(). * Made the TeamDebugger safer for the case that the initialization failed early. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31218 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c439b2356b4021429a4365c014c8e128744db10 |
|
22-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added {Install,Uninstall}Breakpoint(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31188 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
faa04e8d936df8e8688f7945d1a209086429cdd4 |
|
21-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also return the "commpage" image as one of the team's images. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31171 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0b60fa86e977411b90631a7a177c4b93c18106e1 |
|
20-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added DebuggerInterface::GetSymbolInfos() to get the symbols for an image. * Added the beginnings of the debug info abstraction. Currently we can only load the symbols via the debugger. * Added a job to retrieve debug info for an image. Extended the GetStackTraceJob to support waiting for image debug info to be loaded. * Extended ImageInfo by text/data address and size. * Removed StackFrameX86 and made StackFrame a simple non-polymorphic class featuring all the needed data. The really architecture-dependent is in the referenced CpuState already. Added Image* and FunctionDebugInfo* attributes, referring to the image respectively debug info for the function hit by the instruction pointer. * Switched StrackTrace's StackFrame management from DoublyLinkedList to BObjectList. This makes it more comfortable to use. * Changed the code for creating stack traces: - The creation of the StackTrace object and the main loop to collect the frames are now located in the no longer virtual Architecture::CreateStackTrace(). - The decision how to create a StackFrame is based on the instruction pointer. If it hit a function for which debug info is available, the respective DebugInfo::CreateStackFrame() is used, otherwise we fall back to the new virtual Architecture::CreateStackFrame(). * Adjusted the stack trace view to also show function names (mangled ATM). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31142 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1ae2cffc834bf6a53bac6b1f4b01c2fa749f99fa |
|
19-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added ReadMemory(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31125 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c42fe1eb572377d133cc3650e49de2ec76e965a2 |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work on the architecture abstraction, particularly regarding information about what registers the architecture has and how to get them from the CpuState. Implemented the respective x86 part. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3c4cb05b95cb1c9d6f097ddb505679e718eb71da |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We can't only use a single debug context, if we want to allow multiple threads to play with us without blocking. Implemented a pool of debug contexts instead. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31108 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b6aff5aa83398d3958c35345bc843abd299d3af7 |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added notifications for thread state/CPU state/stack trace changes. The team window listens for those and updates the buttons correctly. * Added basic handling for the thread stopping debug events in the team debugger. * Forward the thread run/stop/step requests to the team debugger and actually run/stop/step the thread. Running/stopping works, all three stepping actions just step by a single instruction ATM, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31107 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a81bb42a9321a3b8ccf7f92623237826ff8767f4 |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Beginnings of the architecture abstraction. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31104 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f208695cc18a91def34ea8118ce608f5b344a2d9 |
|
18-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved all interaction with the kernel/debugger interface into new class DebuggerInterface. This will simplify adding support for remote debugging eventually. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31100 a95241bf-73f2-0310-859d-f6bbb57e9c96
|