Syscall tracing no longer fetches the string parameter of the
_kern_ktrace_output() syscall, since it will be stored in a separate entry anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23807 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -38,6 +38,8 @@
|
|||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "syscall_numbers.h"
|
||||||
|
|
||||||
|
|
||||||
typedef struct generic_syscall generic_syscall;
|
typedef struct generic_syscall generic_syscall;
|
||||||
|
|
||||||
@@ -324,7 +326,7 @@ class PreSyscall : public AbstractTraceEntry {
|
|||||||
kSyscallInfos[syscall].parameter_size, false);
|
kSyscallInfos[syscall].parameter_size, false);
|
||||||
|
|
||||||
// copy string parameters, if any
|
// copy string parameters, if any
|
||||||
if (fParameters != NULL) {
|
if (fParameters != NULL && syscall != SYSCALL_KTRACE_OUTPUT) {
|
||||||
int32 stringIndex = 0;
|
int32 stringIndex = 0;
|
||||||
const extended_syscall_info& syscallInfo
|
const extended_syscall_info& syscallInfo
|
||||||
= kExtendedSyscallInfos[fSyscall];
|
= kExtendedSyscallInfos[fSyscall];
|
||||||
@@ -379,7 +381,8 @@ class PreSyscall : public AbstractTraceEntry {
|
|||||||
value = (uint64)*(void**)data;
|
value = (uint64)*(void**)data;
|
||||||
break;
|
break;
|
||||||
case B_STRING_TYPE:
|
case B_STRING_TYPE:
|
||||||
if (stringIndex < MAX_PARAM_STRINGS) {
|
if (stringIndex < MAX_PARAM_STRINGS
|
||||||
|
&& fSyscall != SYSCALL_KTRACE_OUTPUT) {
|
||||||
out.Print("%s\"%s\"",
|
out.Print("%s\"%s\"",
|
||||||
(i == 0 ? "" : ", "),
|
(i == 0 ? "" : ", "),
|
||||||
fParameterStrings[stringIndex++]);
|
fParameterStrings[stringIndex++]);
|
||||||
|
|||||||
Reference in New Issue
Block a user