#
9a79e531 |
|
02-Nov-2011 |
Michael Lotz <mmlr@mlotz.ch> |
bonefish+mmlr: * Introduce TracingMetaData::IsInBuffer() to validate that a certain memory range is within the valid tracing buffer limits. * Use that when validating in tracing_is_entry_valid() before trying to access the entry, resolving a TODO. * Validate the candidate time against the handed in time (if specified) as an additional check. * Tiny unrelated text cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43116 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
328df922 |
|
01-Nov-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
mmlr + bonefish: * Add TraceOutput::PrintArgs(), a va_list version of Print(). * Move code of TraceOutput::Print() to new private template function print_stack_trace(). * Add public tracing_print_stack_trace(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
69d7ad7d |
|
01-Nov-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
mmlr + bonefish: * Move struct tracing_stack_trace to tracing.h header. * Add tracing_find_caller_in_stack_trace(). Helper function to get the first return address of a stack trace that is not in one of the given address ranges. * Add AbstractTracingEntryWithStackTrace::StackTrace() getter. * Add tracing_is_entry_valid(). Checks, based on the additionally given time, whether a tracing entry is (probably) still in the tracing buffer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43070 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fe8f0f46 |
|
31-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
bonefish+mmlr: * Add an AbstractTraceEntryWithStackTrace that includes stack trace handling. * Add a selector macro/template combo to conveniently select the right base class depending on whether stack traces are enabled or not. * Minor style cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43045 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4535495d |
|
10-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged the signals branch into trunk, with these changes: * The team and thread kernel structures have been renamed to Team and Thread respectively and moved into the new BKernel namespace. * Several (kernel add-on) sources have been converted from C to C++ since private kernel headers are included that are no longer C compatible. Changes after merging: * Fixed gcc 2 build (warnings mainly in the scary firewire bus manager). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40196 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a38f8503 |
|
22-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* arch_debug_get_stack_trace(): - Replaced the "userOnly" parameter by a "flags" parameter, that allows to specify kernel and userland stack traces individually. - x86, m68k: Don't always skip the first frame as that prevents the caller from being able to record its own address. * capture_tracing_stack_trace(): Replaced the "userOnly" parameter by "kernelOnly", since one is probably always interested in the kernel stack trace, but might not want the userland stack trace. * Added stack trace support for VM cache kernel tracing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34742 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3fccf067 |
|
30-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
C++ified the code. Introduced new trace entry flags, which will eventually be used to mark entries after recovering a tracing log from a previous session. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31991 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
31ffd653 |
|
06-Apr-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
zooey + bonefish: * made usable from C git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29977 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aa1a64f3 |
|
03-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added [un]lock_tracing_buffer(). This allows other components to analyze tracing buffer entries even when not in the kernel debugger. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27302 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef7102fa |
|
12-Aug-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made TraceEntryIterator available in the kernel. * Fixed TraceEntryIterator::Current(): If fEntry was NULL, it would return 0x4. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26955 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cb66f0f |
|
19-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added __printf__ format attribute to TraceOutput::Print(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3d6c12d |
|
17-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Fixed kernel tracing for gcc 4. The ABI changed in a way that isn't compatible with what our code assumed (pointers to objects of TraceEntry and its POD base class trace_entry aren't identical anymore). * Added optional stack traces for ktrace_printf() output in the kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25531 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3bb3ab83 |
|
05-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Missing copyright header. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25325 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
65f40152 |
|
26-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support for stack traces in tracing entries: * Added capture_tracing_stack_trace() which allocates space in the tracing buffer and captures the stack trace according to the given parameters. * Added TraceOutput::PrintStackTrace() to print a stack trace thus created. * Added TraceEntry::DumpStackTrace() callback which is supposed to print a stack trace for the entry, if it can do that. * Added "--stacktrace" switch to the "traced" command, which causes the stack traces for all entries that have one to be printed as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25205 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f97199ed |
|
22-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made dump_tracing() (the "traced" command function) available in the kernel and added a WrapperTraceFilter* parameter, which allows for additional filtering. This way other commands can print tracing output with special filtering. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25094 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
071f9c3a |
|
27-Mar-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Build configurations shouldn't be done in svn controlled files, so I finally created a solution to avoid that: Header files that contain configuration settings (and nothing else) go to build/config_headers. To change settings, create a directory build/user_config_headers (which is ignored by svn), copy the respective header there and modify it at your leisure. Currently only tracing_config.h has been moved to the new location, but more files will follow eventually. It is also recommended to move optional macro definitions in Jamfile (as for BFS) to a config header instead; the build system will then automatically rebuild on changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
350b6dbc |
|
04-Feb-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed AbstractTraceEntry::sPrintTeamID and added a flags field to TraceOutput for output options instead. * Added "traced" option --difftime. Instead of the absolute system time it prints the difference time to the previously printed entry. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23864 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a54c125e |
|
21-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
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
|
#
64fe37ee |
|
21-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* AbstractTraceEntry records the team ID too, now. * Added "printteam" switch to "traced" command, enabling the printing of the team ID. * Added "team" filter to the "traced" command expression language. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23684 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6d369966 |
|
20-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Fixed my fix for make_space() wrapping. It's always a good idea to write code aligned to what one has written in the comment (or the other way around). * Made trace_entry structure doubly linked, by introducing a previous_size member. By using bit fields, shrinking the flags field to 4 bits, and not saving the lower two bits of size and previous_size (which are always 0 due to alignment), the structure remains 4 byte sized and can still address the same entry size. * kBufferSize is no longer one less than it could be. * "traced" command: - Use static variable for the iteration state rather then cluttering the temporary debug variable name space. - The <count> parameter can now be negative, in which case the entries before (and including) <start> are printed. - Added a new optional parameter, specifying the maximal number of entries to be filtered. Filtered iteration is beautifully comfortable now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23678 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c4b14c3 |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The "traced" command can now be passed a filter expression consisting of boolean operators ("not", "and", "or") and filters matching thread IDs or contained strings. I'm still not fully happy with the command. It should be possible to define a filter and then comfortably scroll through the matching entries. Currently having to specify an index range of the unfiltered entries is rather unhandy in combination with filtering. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23658 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7a5d9c5 |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changed TraceEntry::Dump() to take a TraceOutput& and removed AbstractTraceEntry::AddDump(char*, size_t). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab23dfa7 |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved tracing macro definitions into separate tracing_config.h header. So now there's a central place to enable tracing in general and for individual components. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23645 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1047a1c |
|
18-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Introduced helper class TraceOutput that represents an output buffer and added AbstractTraceEntry::AddDump(TraceOutput&) method. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23622 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0b60583f |
|
16-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added convenience functions alloc_tracing_buffer_{memcpy,strcpy}(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23576 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e43ece8 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Some more work on the tracing API: * Added function to allocate space in the buffer. * Dump() now fills a buffer instead of printing its data directly. * This allows the new "#pattern" argument of the "traced" command to work. When you're using that, the index of the trace entry is printed out, too, so that you can then get a full dump around the hits. * Added an AddDump() method to the AbstractTraceEntry class so that there is no need to call the inherited function anymore. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23479 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
416458e9 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added nothrow to the new operator because otherwise the C++ compiler will not accept if the allocator returns NULL and crashes instead (ie. not compiling in tracing would have crashed if some module tried to use it). * Added total entries count to the KDL command output. * Fixed computing the start index of the KDL command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23460 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aa5d2a2d |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
bonefish+axeld: * Implemented an optional tracing layer that can be used in the kernel. Nice to use if you don't have serial output or need something that doesn't slow down the system as much. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9a79e531ef6443998486e0dcac51f5ecdf029448 |
|
02-Nov-2011 |
Michael Lotz <mmlr@mlotz.ch> |
bonefish+mmlr: * Introduce TracingMetaData::IsInBuffer() to validate that a certain memory range is within the valid tracing buffer limits. * Use that when validating in tracing_is_entry_valid() before trying to access the entry, resolving a TODO. * Validate the candidate time against the handed in time (if specified) as an additional check. * Tiny unrelated text cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43116 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
328df922e6fe47e466937aa518456b10ec7a9320 |
|
01-Nov-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
mmlr + bonefish: * Add TraceOutput::PrintArgs(), a va_list version of Print(). * Move code of TraceOutput::Print() to new private template function print_stack_trace(). * Add public tracing_print_stack_trace(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
69d7ad7dc5b8d1281aa8f19e2d0347b3721b96a6 |
|
01-Nov-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
mmlr + bonefish: * Move struct tracing_stack_trace to tracing.h header. * Add tracing_find_caller_in_stack_trace(). Helper function to get the first return address of a stack trace that is not in one of the given address ranges. * Add AbstractTracingEntryWithStackTrace::StackTrace() getter. * Add tracing_is_entry_valid(). Checks, based on the additionally given time, whether a tracing entry is (probably) still in the tracing buffer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43070 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fe8f0f4601874527071ef066e8550e07323f9f51 |
|
31-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
bonefish+mmlr: * Add an AbstractTraceEntryWithStackTrace that includes stack trace handling. * Add a selector macro/template combo to conveniently select the right base class depending on whether stack traces are enabled or not. * Minor style cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43045 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4535495d80c86e19e2610e7444a4fcefe3e0f8e6 |
|
10-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged the signals branch into trunk, with these changes: * The team and thread kernel structures have been renamed to Team and Thread respectively and moved into the new BKernel namespace. * Several (kernel add-on) sources have been converted from C to C++ since private kernel headers are included that are no longer C compatible. Changes after merging: * Fixed gcc 2 build (warnings mainly in the scary firewire bus manager). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40196 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a38f85036021b7ccaffa47fd8584afff473acf3d |
|
22-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* arch_debug_get_stack_trace(): - Replaced the "userOnly" parameter by a "flags" parameter, that allows to specify kernel and userland stack traces individually. - x86, m68k: Don't always skip the first frame as that prevents the caller from being able to record its own address. * capture_tracing_stack_trace(): Replaced the "userOnly" parameter by "kernelOnly", since one is probably always interested in the kernel stack trace, but might not want the userland stack trace. * Added stack trace support for VM cache kernel tracing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34742 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3fccf0679fae4ee6bab9952525be0c0e4bc58873 |
|
30-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
C++ified the code. Introduced new trace entry flags, which will eventually be used to mark entries after recovering a tracing log from a previous session. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31991 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
31ffd6533a2811180b7d9988b575580b62e62854 |
|
06-Apr-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
zooey + bonefish: * made usable from C git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29977 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aa1a64f35ac101f1b9ea6d1f5f0211d8e187e7b7 |
|
03-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added [un]lock_tracing_buffer(). This allows other components to analyze tracing buffer entries even when not in the kernel debugger. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27302 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef7102fa292c7e917d70749baca47373749a18d5 |
|
12-Aug-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made TraceEntryIterator available in the kernel. * Fixed TraceEntryIterator::Current(): If fEntry was NULL, it would return 0x4. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26955 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cb66f0ff06c3f4a169f3aaf22967b3468e1e64c |
|
19-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added __printf__ format attribute to TraceOutput::Print(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3d6c12dbf620c22c071b1a6a4c44dfce88d265c |
|
17-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Fixed kernel tracing for gcc 4. The ABI changed in a way that isn't compatible with what our code assumed (pointers to objects of TraceEntry and its POD base class trace_entry aren't identical anymore). * Added optional stack traces for ktrace_printf() output in the kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25531 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3bb3ab83a47667e4c3d6b6188a41b505fd77e909 |
|
05-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Missing copyright header. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25325 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
65f4015279776018f638227d9fd71fc062c2359c |
|
26-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support for stack traces in tracing entries: * Added capture_tracing_stack_trace() which allocates space in the tracing buffer and captures the stack trace according to the given parameters. * Added TraceOutput::PrintStackTrace() to print a stack trace thus created. * Added TraceEntry::DumpStackTrace() callback which is supposed to print a stack trace for the entry, if it can do that. * Added "--stacktrace" switch to the "traced" command, which causes the stack traces for all entries that have one to be printed as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25205 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f97199edd3ead2cd14ce2a844fab290076a2ad54 |
|
22-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made dump_tracing() (the "traced" command function) available in the kernel and added a WrapperTraceFilter* parameter, which allows for additional filtering. This way other commands can print tracing output with special filtering. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25094 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
071f9c3aa2c2215feaa56a8ff59557dd00b27f37 |
|
27-Mar-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Build configurations shouldn't be done in svn controlled files, so I finally created a solution to avoid that: Header files that contain configuration settings (and nothing else) go to build/config_headers. To change settings, create a directory build/user_config_headers (which is ignored by svn), copy the respective header there and modify it at your leisure. Currently only tracing_config.h has been moved to the new location, but more files will follow eventually. It is also recommended to move optional macro definitions in Jamfile (as for BFS) to a config header instead; the build system will then automatically rebuild on changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
350b6dbc3aa9b7387f8003fe5f9957e84742eec3 |
|
04-Feb-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed AbstractTraceEntry::sPrintTeamID and added a flags field to TraceOutput for output options instead. * Added "traced" option --difftime. Instead of the absolute system time it prints the difference time to the previously printed entry. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23864 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a54c125e3744602e914808f2c95c360b2e8c9c54 |
|
21-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
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
|
#
64fe37ee897678e76e9b6a9b03b831bfeaeddc71 |
|
21-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* AbstractTraceEntry records the team ID too, now. * Added "printteam" switch to "traced" command, enabling the printing of the team ID. * Added "team" filter to the "traced" command expression language. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23684 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6d369966209679a1b8a870839097e33e84ea4a52 |
|
20-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Fixed my fix for make_space() wrapping. It's always a good idea to write code aligned to what one has written in the comment (or the other way around). * Made trace_entry structure doubly linked, by introducing a previous_size member. By using bit fields, shrinking the flags field to 4 bits, and not saving the lower two bits of size and previous_size (which are always 0 due to alignment), the structure remains 4 byte sized and can still address the same entry size. * kBufferSize is no longer one less than it could be. * "traced" command: - Use static variable for the iteration state rather then cluttering the temporary debug variable name space. - The <count> parameter can now be negative, in which case the entries before (and including) <start> are printed. - Added a new optional parameter, specifying the maximal number of entries to be filtered. Filtered iteration is beautifully comfortable now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23678 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c4b14c3bbb2cc9f073ae3d209539d8229a6664f |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The "traced" command can now be passed a filter expression consisting of boolean operators ("not", "and", "or") and filters matching thread IDs or contained strings. I'm still not fully happy with the command. It should be possible to define a filter and then comfortably scroll through the matching entries. Currently having to specify an index range of the unfiltered entries is rather unhandy in combination with filtering. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23658 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7a5d9c5831397de59dc37ad27f5b4cd17a35db1 |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changed TraceEntry::Dump() to take a TraceOutput& and removed AbstractTraceEntry::AddDump(char*, size_t). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab23dfa7f7621e7ca1e1bc8d99f0a1a55bc299ad |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved tracing macro definitions into separate tracing_config.h header. So now there's a central place to enable tracing in general and for individual components. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23645 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1047a1c3e3278a357db2fc7f0241731e090ca2b |
|
18-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Introduced helper class TraceOutput that represents an output buffer and added AbstractTraceEntry::AddDump(TraceOutput&) method. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23622 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0b60583fec75f23e86b98057dc08c2c425561a8d |
|
16-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added convenience functions alloc_tracing_buffer_{memcpy,strcpy}(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23576 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e43ece8b85e5842fad76f130eae4dfd7e5eacd7 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Some more work on the tracing API: * Added function to allocate space in the buffer. * Dump() now fills a buffer instead of printing its data directly. * This allows the new "#pattern" argument of the "traced" command to work. When you're using that, the index of the trace entry is printed out, too, so that you can then get a full dump around the hits. * Added an AddDump() method to the AbstractTraceEntry class so that there is no need to call the inherited function anymore. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23479 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
416458e9c4fbf7332c5431e47541dc319482be99 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added nothrow to the new operator because otherwise the C++ compiler will not accept if the allocator returns NULL and crashes instead (ie. not compiling in tracing would have crashed if some module tried to use it). * Added total entries count to the KDL command output. * Fixed computing the start index of the KDL command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23460 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aa5d2a2df2ac48c3f9eba907e9f07b99f998aec7 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
bonefish+axeld: * Implemented an optional tracing layer that can be used in the kernel. Nice to use if you don't have serial output or need something that doesn't slow down the system as much. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|