mirror of
https://review.haiku-os.org/haiku
synced 2025-02-02 11:46:25 +01:00
0b60fa86e9
* 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
26 lines
498 B
C++
26 lines
498 B
C++
/*
|
|
* Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef IMAGE_DEBUG_INFO_PROVIDER_H
|
|
#define IMAGE_DEBUG_INFO_PROVIDER_H
|
|
|
|
#include <SupportDefs.h>
|
|
|
|
|
|
class Image;
|
|
class ImageDebugInfo;
|
|
|
|
|
|
class ImageDebugInfoProvider {
|
|
public:
|
|
virtual ~ImageDebugInfoProvider();
|
|
|
|
virtual status_t GetImageDebugInfo(Image* image,
|
|
ImageDebugInfo*& _info) = 0;
|
|
// returns a reference
|
|
};
|
|
|
|
|
|
#endif // IMAGE_DEBUG_INFO_PROVIDER_H
|