* 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
This commit is contained in:
@@ -21,6 +21,7 @@ class DisassembledCode;
|
||||
class FileManager;
|
||||
class FileSourceCode;
|
||||
class Function;
|
||||
class FunctionID;
|
||||
class FunctionInstance;
|
||||
class ImageDebugInfo;
|
||||
class ImageInfo;
|
||||
@@ -52,15 +53,16 @@ public:
|
||||
DisassembledCode*& _sourceCode);
|
||||
// returns reference
|
||||
|
||||
|
||||
// team is locked
|
||||
status_t AddImageDebugInfo(
|
||||
ImageDebugInfo* imageDebugInfo);
|
||||
void RemoveImageDebugInfo(
|
||||
ImageDebugInfo* imageDebugInfo);
|
||||
ImageDebugInfo* ImageDebugInfoByName(const char* name) const;
|
||||
|
||||
Function* FunctionAtSourceLocation(LocatableFile* file,
|
||||
const SourceLocation& location);
|
||||
const SourceLocation& location) const;
|
||||
Function* FunctionByID(FunctionID* functionID) const;
|
||||
|
||||
private:
|
||||
struct FunctionHashDefinition;
|
||||
|
||||
Reference in New Issue
Block a user