52{
58 UINT32 ActionBreakToDebuggerLength = 0;
59 UINT32 ActionCustomCodeLength = 0;
60 UINT32 ActionScriptLength = 0;
64
65
66
67
68
70 &CommandTokens,
72 &Event,
73 &EventLength,
74 &ActionBreakToDebugger,
75 &ActionBreakToDebuggerLength,
76 &ActionCustomCode,
77 &ActionCustomCodeLength,
78 &ActionScript,
79 &ActionScriptLength,
80 &EventParsingErrorCause))
81 {
82 return;
83 }
84
85
86
87
88 if (CommandTokens.size() > 2)
89 {
90 ShowMessages("incorrect use of the '%s'\n\n",
93
95 return;
96 }
97
98
99
100
101 for (auto Section : CommandTokens)
102 {
104 {
105 continue;
106 }
108 {
111 }
113 {
116 }
120 !SetTraceType)
121 {
124 }
125 else
126 {
127
128
129
130 ShowMessages("err, couldn't resolve error at '%s'\n\n",
133
135 }
136 }
137
138
139
140
141 if (!SetTraceType)
142 {
143 ShowMessages("please specify the trace type\n");
144
146 return;
147 }
148
149
150
151
153
154
155
156
158 {
159
160
161
162
163
164
166 return;
167 }
168
169
170
171
173 ActionBreakToDebugger,
174 ActionBreakToDebuggerLength,
175 ActionCustomCode,
176 ActionCustomCodeLength,
177 ActionScript,
178 ActionScriptLength))
179 {
180
181
182
183
185 return;
186 }
187}
std::string GetCaseSensitiveStringFromCommandToken(CommandToken TargetToken)
Get case sensitive string from command token.
Definition common.cpp:467
BOOLEAN CompareLowerCaseStrings(CommandToken TargetToken, const CHAR *StringToCompare)
Compare lower case strings.
Definition common.cpp:503
VOID FreeEventsAndActionsMemory(PDEBUGGER_GENERAL_EVENT_DETAIL Event, PDEBUGGER_GENERAL_ACTION ActionBreakToDebugger, PDEBUGGER_GENERAL_ACTION ActionCustomCode, PDEBUGGER_GENERAL_ACTION ActionScript)
Deallocate buffers relating to events and actions.
Definition debugger.cpp:1688
BOOLEAN InterpretGeneralEventAndActionsFields(vector< CommandToken > *CommandTokens, VMM_EVENT_TYPE_ENUM EventType, PDEBUGGER_GENERAL_EVENT_DETAIL *EventDetailsToFill, PUINT32 EventBufferLength, PDEBUGGER_GENERAL_ACTION *ActionDetailsToFillBreakToDebugger, PUINT32 ActionBufferLengthBreakToDebugger, PDEBUGGER_GENERAL_ACTION *ActionDetailsToFillCustomCode, PUINT32 ActionBufferLengthCustomCode, PDEBUGGER_GENERAL_ACTION *ActionDetailsToFillScript, PUINT32 ActionBufferLengthScript, PDEBUGGER_EVENT_PARSING_ERROR_CAUSE ReasonForErrorInParsing)
Interpret general event fields.
Definition debugger.cpp:1736
BOOLEAN SendEventToKernel(PDEBUGGER_GENERAL_EVENT_DETAIL Event, UINT32 EventBufferLength)
Register the event to the kernel.
Definition debugger.cpp:1367
BOOLEAN RegisterActionToEvent(PDEBUGGER_GENERAL_EVENT_DETAIL Event, PDEBUGGER_GENERAL_ACTION ActionBreakToDebugger, UINT32 ActionBreakToDebuggerLength, PDEBUGGER_GENERAL_ACTION ActionCustomCode, UINT32 ActionCustomCodeLength, PDEBUGGER_GENERAL_ACTION ActionScript, UINT32 ActionScriptLength)
Register the action to the event.
Definition debugger.cpp:1483
NULL()
Definition test-case-generator.py:530
UINT64 OptionalParam1
Definition Events.h:277
DEBUGGER_EVENT_OPTIONS Options
Definition Events.h:396
VOID CommandTraceHelp()
help of the !trace command
Definition trace.cpp:20