summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Trace/README.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
commitf215e02bf85f68d3a6106c2a1f4f7f063f819064 (patch)
tree6bb5b92c046312c4e95ac2620b10ddf482d3fa8b /src/VBox/Devices/Trace/README.txt
parentInitial commit. (diff)
downloadvirtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.tar.xz
virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.zip
Adding upstream version 7.0.14-dfsg.upstream/7.0.14-dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/Trace/README.txt')
-rw-r--r--src/VBox/Devices/Trace/README.txt32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/VBox/Devices/Trace/README.txt b/src/VBox/Devices/Trace/README.txt
new file mode 100644
index 00000000..e12efb2a
--- /dev/null
+++ b/src/VBox/Devices/Trace/README.txt
@@ -0,0 +1,32 @@
+/* $Id: README.txt $ */
+Introduction:
+
+ This is a simple tracing driver which hooks into a driver chain and logs all executed callbacks for a particular interface
+ with their parameters.
+ It uses the RTTraceLog API to write the data into a compact binary log file which can be examined using RTTraceLogTool
+ (which is still very basic at this point but will be enhanced when certain features are required).
+
+ Currently implemented interfaces are (implement more on a need basis and add them here):
+ - PDMISERIALPORT and PDMISERIALCONNECTOR
+
+Benefits:
+
+ This driver allows to gather more detailed information about the interaction between devices and attached drivers without
+ the need to add additional debug/logging code. This is especially useful for debugging user reported issues as it can avoid
+ having to send a special testbuil to the user (provided the interfaces are implemented by the trace driver),
+ the user just requires instructions on how to enable the tracing for her particular setup.
+
+ Later on this might also come in handy for a driver testbench because it allows recording the interaction from a complicated setup and
+ allows replaying it in a more controlled/compact environment for unit testing or fuzzing.
+
+Setup:
+
+ To inject the driver into an existing driver chain the PDM driver transformations feature is used.
+ The following example injects the trace driver right before every instance of the "Host Serial" driver:
+
+ VBoxManage setextradata <VM name> "VBoxInternal/PDM/DriverTransformations/SerialTrace/AboveDriver" "Host Serial"
+ VBoxManage setextradata <VM name> "VBoxInternal/PDM/DriverTransformations/SerialTrace/AttachedDriver/Config/TraceFilePath" "<trace/log/file/path>"
+ VBoxManage setextradata <VM name> "VBoxInternal/PDM/DriverTransformations/SerialTrace/AttachedDriver/Driver" "IfTrace"/>
+
+
+