Added experimental ktrace_[v]printf() functions to libroot. Their output
is recorded in a kernel trace entry (if tracing is enabled). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23686 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -317,6 +317,32 @@ AbstractTraceEntry::AddDump(TraceOutput& out)
|
||||
bool AbstractTraceEntry::sPrintTeamID = false;
|
||||
|
||||
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
#if ENABLE_TRACING
|
||||
|
||||
class UserTraceEntry : public AbstractTraceEntry {
|
||||
public:
|
||||
UserTraceEntry(const char* message)
|
||||
{
|
||||
fMessage = alloc_tracing_buffer_strcpy(message, 256, true);
|
||||
|
||||
Initialized();
|
||||
}
|
||||
|
||||
virtual void AddDump(TraceOutput& out)
|
||||
{
|
||||
out.Print("user: %s", fMessage);
|
||||
}
|
||||
|
||||
private:
|
||||
char* fMessage;
|
||||
};
|
||||
|
||||
#endif // ENABLE_TRACING
|
||||
|
||||
|
||||
// #pragma mark - trace filters
|
||||
|
||||
|
||||
@@ -1026,3 +1052,12 @@ tracing_init(void)
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_user_ktrace_output(const char *message)
|
||||
{
|
||||
#if ENABLE_TRACING
|
||||
new(nothrow) UserTraceEntry(message);
|
||||
#endif // ENABLE_TRACING
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user