#
248c2ff4 |
|
23-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Rework control flow for debug report generator. - DebugReportGenerator is now its own BLooper that generates reports asynchronously instead of in TeamDebugger's message loop. - If a stack trace isn't yet available, DebugReportGenerator now waits for it to be generated. - Extended Team to add a listener event for report generation completing. DebugReportGenerator now generates such an event when it has finished writing a report.
|
#
12c53499 |
|
07-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
More UI support for watchpointgs. - BreakpointTableModel now encapsulates both breakpoints and watchpoints. - Extended BreakpointView and TeamWindow to handle enable/disable/removing watchpoints as well.
|
#
4235cb3e |
|
06-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Start adding the underlying infrastructure for watchpoint support.
|
#
698ad097 |
|
30-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Add interface TeamTypeInformation and implement in TeamDebugInfo. Pass along to various classes that need a reference to it in order to allow value nodes to look up type information from the target team. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42354 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0fc8a75c |
|
13-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved TargetAddressTableColumn into own source file in gui/util. * Fixed misspelled MSG_*_BREAKPONT constants. * model/Team: Added separate event class UserBreakpointEvent for user breakpoints. * SourceView::MarkerManager: Invalidate the markers when new source code is set. * Added breakpoints view. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33578 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2bf55b39 |
|
23-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made FunctionID abstract. There are now two implementing subclasses, SourceFunctionID (where we know the souce location of the function) and ImageFunctionID (where we don't know the source location). Made the classes archivable. * Added support to find functions by ID. * Improved user breakpoint handling. We can now "install" a breakpoint before we even know the function instances in which to install it. Whenever image debug information become available, breakpoints are installed in the concerned function instances of the respective image. * Always trigger loading image debug info as soon as we become aware of an image. * Implemented a settings management mechanism. ATM only the breakpoint locations for debugged teams are persisted. This seriously improves the debugging fun, though. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31728 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5e1e7ce |
|
22-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Refactoring: Moved TeamDebugModel functionality into Team and got rid of the former. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a4b0c192 |
|
09-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Finished the transformation of the SourceCode interface: - Replaced StatementAtLine() by GetStatementLocationRange(), which doesn't return a statement (i.e. also target addresses), but just a range in the source code. This can also be implemented by FileSourceCode, which can therefore be used for more than one instance of a function. - Added GetStatementAtLocation() which kind of is also a replacement for StatementAtLine(), but is optional and only provided by DisassembledSourceCode. - Added GetSourceFile(), which has to be provided when GetStatementAtLocation() is not implemented. - Kicked the statement stuff out of FileSourceCode. It only knows source ranges, now. * Team: Added GetStatementAtSourceLocation(), which is the real replacement for SourceCode::StatementAtLine() in cases where a statement is actually needed. It uses SourceCode::GetStatementAtLocation(), if available and otherwise finds a function at the source location, and gets a statement for one of its instances. * TeamDebugInfo: Does now manage a source file -> functions map allowing to look up functions at source file locations. * DwarfImageDebugInfo: - Switched the path in the source code hash table key for a LocatableFile, which is cheaper to hash and to compare. - Fixed bugs where the relocation delta was ignored. - Replace a -1 in the SourceLocation column component by 0 to avoid mismatches. * SourceLocation: Changed component types from uint32 to int32. Otherwise -1 is not representable. Things mostly work as before starting the refactoring to support function instances. All is not well yet, though. E.g. we don't merge the source code information for common source files (like headers) provided by different compilation units (or even images) yet. We need to do that, since the debug info for a compilation unit only contains line number information for inline functions (in headers) that are actually used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f66bd625 |
|
07-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Very much work in progress, not in a particularly working state. Haiku munged a good part of the source tree, so I rather get those changes into the repository before continuing. The general aim of the work is to deal with multiple instances of the same function, e.g. inlined or non-inlined inline functions or those weird duplicates gcc (4 at least) seems to be generating for no apparent reason. * Added classes FunctionInstance (wrapping FunctionDebugInfo) and Function. FunctionInstance represents a physical instance of a function (e.g. inlined function at a particular address). A Function collects all FunctionInstances referring to the same source code location. * Moved the SourceCode property from FunctionDebugInfo to Function accordingly. * Since SourceCode is no longer associated with a concrete function instance, several methods dealing with statements have been removed and the functionality has been provided through other means (e.g. TeamDebugModel or SpecificImageDebugModel). This part is not yet completed. * Introduced UserBreakpoint and UserBreakpointInstance. The user sets a breakpoint at a source code location, which is represented by a UserBreakpoint. Since that source location can be mapped to one address per instance of the respective function, UserBreakpoint has a UserBreakpointInstance per such function instance, which in turn refers to a Breakpoint (an actual breakpoint at an address). * Adjusted Breakpoint, BreakpointManager, and TeamDebugger accordingly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3c5dbb46 |
|
01-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved Array.h to new directory "types". * Added StringUtils with string hash functions. * Added Locatable{Entry,File,Directory} and FileManager classes to manage the mapping from debug info/target file names to local file names. * Image does now have a LocatableFile referring to the image's shared object file. Added listening to location changes of these files to TeamDebugger. No action is taken yet (should trigger reloading the debug info). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31368 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
671ef9b0 |
|
27-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Some moving and renaming. * Added TeamDebugInfo which serves as factory for ImageDebugInfos. * Added the DWARF code to the build again. It's not used yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31278 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
93b64845 |
|
27-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added support for loading the debug info for an image lazily and adjusted the jobs accordingly. * Added a view to list the source files and functions for an image. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31271 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9fc1d50 |
|
20-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved several classes into new "model" subdir. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31143 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
248c2ff45ca8253a2bd6114a358bc6e5ac4d2026 |
|
23-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Rework control flow for debug report generator. - DebugReportGenerator is now its own BLooper that generates reports asynchronously instead of in TeamDebugger's message loop. - If a stack trace isn't yet available, DebugReportGenerator now waits for it to be generated. - Extended Team to add a listener event for report generation completing. DebugReportGenerator now generates such an event when it has finished writing a report.
|
#
12c53499e76d8d0e63a94eb738bbe13f387cb0dd |
|
07-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
More UI support for watchpointgs. - BreakpointTableModel now encapsulates both breakpoints and watchpoints. - Extended BreakpointView and TeamWindow to handle enable/disable/removing watchpoints as well.
|
#
4235cb3e331c05b73700905462dc7dfab02eda36 |
|
06-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Start adding the underlying infrastructure for watchpoint support.
|
#
698ad09748bc7e6c117d2028e324d633f2935c55 |
|
30-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Add interface TeamTypeInformation and implement in TeamDebugInfo. Pass along to various classes that need a reference to it in order to allow value nodes to look up type information from the target team. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42354 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0fc8a75c02203277316b64161fff4210a3407dc5 |
|
13-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved TargetAddressTableColumn into own source file in gui/util. * Fixed misspelled MSG_*_BREAKPONT constants. * model/Team: Added separate event class UserBreakpointEvent for user breakpoints. * SourceView::MarkerManager: Invalidate the markers when new source code is set. * Added breakpoints view. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33578 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2bf55b39a5119e092a52d9e50da6efcb38393d54 |
|
23-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made FunctionID abstract. There are now two implementing subclasses, SourceFunctionID (where we know the souce location of the function) and ImageFunctionID (where we don't know the source location). Made the classes archivable. * Added support to find functions by ID. * Improved user breakpoint handling. We can now "install" a breakpoint before we even know the function instances in which to install it. Whenever image debug information become available, breakpoints are installed in the concerned function instances of the respective image. * Always trigger loading image debug info as soon as we become aware of an image. * Implemented a settings management mechanism. ATM only the breakpoint locations for debugged teams are persisted. This seriously improves the debugging fun, though. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31728 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5e1e7ceba589daa8322d42af96077aaa94a7232 |
|
22-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Refactoring: Moved TeamDebugModel functionality into Team and got rid of the former. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a4b0c19209887ee3619cf3f8b2935f51d23afca3 |
|
09-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Finished the transformation of the SourceCode interface: - Replaced StatementAtLine() by GetStatementLocationRange(), which doesn't return a statement (i.e. also target addresses), but just a range in the source code. This can also be implemented by FileSourceCode, which can therefore be used for more than one instance of a function. - Added GetStatementAtLocation() which kind of is also a replacement for StatementAtLine(), but is optional and only provided by DisassembledSourceCode. - Added GetSourceFile(), which has to be provided when GetStatementAtLocation() is not implemented. - Kicked the statement stuff out of FileSourceCode. It only knows source ranges, now. * Team: Added GetStatementAtSourceLocation(), which is the real replacement for SourceCode::StatementAtLine() in cases where a statement is actually needed. It uses SourceCode::GetStatementAtLocation(), if available and otherwise finds a function at the source location, and gets a statement for one of its instances. * TeamDebugInfo: Does now manage a source file -> functions map allowing to look up functions at source file locations. * DwarfImageDebugInfo: - Switched the path in the source code hash table key for a LocatableFile, which is cheaper to hash and to compare. - Fixed bugs where the relocation delta was ignored. - Replace a -1 in the SourceLocation column component by 0 to avoid mismatches. * SourceLocation: Changed component types from uint32 to int32. Otherwise -1 is not representable. Things mostly work as before starting the refactoring to support function instances. All is not well yet, though. E.g. we don't merge the source code information for common source files (like headers) provided by different compilation units (or even images) yet. We need to do that, since the debug info for a compilation unit only contains line number information for inline functions (in headers) that are actually used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f66bd6256a87005ccaa493859ede2ca1601b8560 |
|
07-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Very much work in progress, not in a particularly working state. Haiku munged a good part of the source tree, so I rather get those changes into the repository before continuing. The general aim of the work is to deal with multiple instances of the same function, e.g. inlined or non-inlined inline functions or those weird duplicates gcc (4 at least) seems to be generating for no apparent reason. * Added classes FunctionInstance (wrapping FunctionDebugInfo) and Function. FunctionInstance represents a physical instance of a function (e.g. inlined function at a particular address). A Function collects all FunctionInstances referring to the same source code location. * Moved the SourceCode property from FunctionDebugInfo to Function accordingly. * Since SourceCode is no longer associated with a concrete function instance, several methods dealing with statements have been removed and the functionality has been provided through other means (e.g. TeamDebugModel or SpecificImageDebugModel). This part is not yet completed. * Introduced UserBreakpoint and UserBreakpointInstance. The user sets a breakpoint at a source code location, which is represented by a UserBreakpoint. Since that source location can be mapped to one address per instance of the respective function, UserBreakpoint has a UserBreakpointInstance per such function instance, which in turn refers to a Breakpoint (an actual breakpoint at an address). * Adjusted Breakpoint, BreakpointManager, and TeamDebugger accordingly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3c5dbb462d2d407e87196e6eb5c24162df9a5af7 |
|
01-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved Array.h to new directory "types". * Added StringUtils with string hash functions. * Added Locatable{Entry,File,Directory} and FileManager classes to manage the mapping from debug info/target file names to local file names. * Image does now have a LocatableFile referring to the image's shared object file. Added listening to location changes of these files to TeamDebugger. No action is taken yet (should trigger reloading the debug info). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31368 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
671ef9b08426d9131bbea63d1ba4177c6f497d70 |
|
27-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Some moving and renaming. * Added TeamDebugInfo which serves as factory for ImageDebugInfos. * Added the DWARF code to the build again. It's not used yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31278 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
93b6484548d66736b83a5fe17a46c74d53236789 |
|
27-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added support for loading the debug info for an image lazily and adjusted the jobs accordingly. * Added a view to list the source files and functions for an image. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31271 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9fc1d5064c03f5131f172c6656f363aa9069cee |
|
20-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved several classes into new "model" subdir. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31143 a95241bf-73f2-0310-859d-f6bbb57e9c96
|