[56168] | 1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
| 2 | <!--
|
---|
[56344] | 3 | manpage, user manual, usage: VBoxManage debugvm
|
---|
[96300] | 4 | -->
|
---|
| 5 | <!--
|
---|
[98103] | 6 | Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
[56168] | 7 |
|
---|
[96407] | 8 | This file is part of VirtualBox base platform packages, as
|
---|
| 9 | available from https://www.virtualbox.org.
|
---|
| 10 |
|
---|
| 11 | This program is free software; you can redistribute it and/or
|
---|
| 12 | modify it under the terms of the GNU General Public License
|
---|
| 13 | as published by the Free Software Foundation, in version 3 of the
|
---|
| 14 | License.
|
---|
| 15 |
|
---|
| 16 | This program is distributed in the hope that it will be useful, but
|
---|
| 17 | WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 19 | General Public License for more details.
|
---|
| 20 |
|
---|
| 21 | You should have received a copy of the GNU General Public License
|
---|
| 22 | along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 23 |
|
---|
| 24 | SPDX-License-Identifier: GPL-3.0-only
|
---|
[96300] | 25 | -->
|
---|
[93803] | 26 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
| 27 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
---|
| 28 | <!ENTITY % all.entities SYSTEM "all-entities.ent">
|
---|
| 29 | %all.entities;
|
---|
| 30 | ]>
|
---|
[56344] | 31 | <refentry id="vboxmanage-debugvm" lang="en">
|
---|
[56168] | 32 | <refentryinfo>
|
---|
| 33 | <pubdate>$Date: 2023-04-21 21:59:02 +0000 (Fri, 21 Apr 2023) $</pubdate>
|
---|
[56344] | 34 | <title>VBoxManage debugvm</title>
|
---|
[56168] | 35 | </refentryinfo>
|
---|
| 36 |
|
---|
| 37 | <refmeta>
|
---|
[56442] | 38 | <refentrytitle>VBoxManage-debugvm</refentrytitle>
|
---|
[56168] | 39 | <manvolnum>1</manvolnum>
|
---|
| 40 | </refmeta>
|
---|
| 41 |
|
---|
| 42 | <refnamediv>
|
---|
[56344] | 43 | <refname>VBoxManage-debugvm</refname>
|
---|
[56442] | 44 | <refpurpose>introspection and guest debugging</refpurpose>
|
---|
[93707] | 45 | <refclass>&product-name;</refclass>
|
---|
[56168] | 46 | </refnamediv>
|
---|
| 47 |
|
---|
| 48 | <refsynopsisdiv>
|
---|
[56445] | 49 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-dumpvmcore">
|
---|
[56442] | 50 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 51 | <group choice="req">
|
---|
| 52 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 53 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 54 | </group>
|
---|
[56445] | 55 | <arg choice="plain">dumpvmcore</arg>
|
---|
[56568] | 56 | <arg>--filename=<replaceable>name</replaceable></arg>
|
---|
[56168] | 57 | </cmdsynopsis>
|
---|
[56442] | 58 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-info">
|
---|
| 59 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 60 | <group choice="req">
|
---|
| 61 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 62 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 63 | </group>
|
---|
[56442] | 64 | <arg choice="plain">info</arg>
|
---|
| 65 | <arg choice="req"><replaceable>item</replaceable></arg>
|
---|
| 66 | <arg rep="repeat"><replaceable>args</replaceable></arg>
|
---|
[56168] | 67 | </cmdsynopsis>
|
---|
[56442] | 68 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-injectnmi">
|
---|
| 69 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 70 | <group choice="req">
|
---|
| 71 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 72 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 73 | </group>
|
---|
[56442] | 74 | <arg choice="plain">injectnmi</arg>
|
---|
[56168] | 75 | </cmdsynopsis>
|
---|
[56442] | 76 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-log">
|
---|
| 77 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 78 | <group choice="req">
|
---|
| 79 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 80 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 81 | </group>
|
---|
[56442] | 82 | <arg choice="plain">log</arg>
|
---|
[99136] | 83 | <group><arg choice="plain">--release</arg><arg choice="plain">--debug</arg></group>
|
---|
[56442] | 84 | <arg rep="repeat"><replaceable>group-settings</replaceable></arg>
|
---|
| 85 | </cmdsynopsis>
|
---|
| 86 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-logdest">
|
---|
| 87 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 88 | <group choice="req">
|
---|
| 89 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 90 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 91 | </group>
|
---|
[56442] | 92 | <arg choice="plain">logdest</arg>
|
---|
[99136] | 93 | <group><arg choice="plain">--release</arg><arg choice="plain">--debug</arg></group>
|
---|
[56442] | 94 | <arg rep="repeat"><replaceable>destinations</replaceable></arg>
|
---|
| 95 | </cmdsynopsis>
|
---|
| 96 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-logflags">
|
---|
| 97 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 98 | <group choice="req">
|
---|
| 99 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 100 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 101 | </group>
|
---|
[56442] | 102 | <arg choice="plain">logflags</arg>
|
---|
[99136] | 103 | <group><arg choice="plain">--release</arg><arg choice="plain">--debug</arg></group>
|
---|
[56442] | 104 | <arg rep="repeat"><replaceable>flags</replaceable></arg>
|
---|
| 105 | </cmdsynopsis>
|
---|
| 106 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-osdetect">
|
---|
| 107 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 108 | <group choice="req">
|
---|
| 109 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 110 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 111 | </group>
|
---|
[56442] | 112 | <arg choice="plain">osdetect</arg>
|
---|
| 113 | </cmdsynopsis>
|
---|
| 114 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-osinfo">
|
---|
| 115 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 116 | <group choice="req">
|
---|
| 117 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 118 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 119 | </group>
|
---|
[56442] | 120 | <arg choice="plain">osinfo</arg>
|
---|
| 121 | </cmdsynopsis>
|
---|
[56445] | 122 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-osdmesg">
|
---|
| 123 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 124 | <group choice="req">
|
---|
| 125 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 126 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 127 | </group>
|
---|
[56445] | 128 | <arg choice="plain">osdmesg</arg>
|
---|
[56568] | 129 | <arg>--lines=<replaceable>lines</replaceable></arg>
|
---|
[56445] | 130 | </cmdsynopsis>
|
---|
[56442] | 131 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-getregisters">
|
---|
| 132 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 133 | <group choice="req">
|
---|
| 134 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 135 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 136 | </group>
|
---|
[56442] | 137 | <arg choice="plain">getregisters</arg>
|
---|
[56568] | 138 | <arg>--cpu=<replaceable>id</replaceable></arg>
|
---|
[56442] | 139 | <arg rep="repeat"><replaceable>reg-set.reg-name</replaceable></arg>
|
---|
| 140 | </cmdsynopsis>
|
---|
| 141 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-setregisters">
|
---|
| 142 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 143 | <group choice="req">
|
---|
| 144 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 145 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 146 | </group>
|
---|
[56442] | 147 | <arg choice="plain">setregisters</arg>
|
---|
[56568] | 148 | <arg>--cpu=<replaceable>id</replaceable></arg>
|
---|
[89917] | 149 | <arg rep="repeat"><replaceable>reg-set.reg-name</replaceable>=<replaceable>value</replaceable></arg>
|
---|
[56442] | 150 | </cmdsynopsis>
|
---|
| 151 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-show">
|
---|
| 152 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 153 | <group choice="req">
|
---|
| 154 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 155 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 156 | </group>
|
---|
[56442] | 157 | <arg choice="plain">show</arg>
|
---|
[99136] | 158 | <group><arg choice="plain">--human-readable</arg><arg choice="plain">--sh-export</arg><arg choice="plain">--sh-eval</arg><arg choice="plain">--cmd-set</arg></group>
|
---|
[56442] | 159 | <arg rep="repeat"><replaceable>settings-item</replaceable></arg>
|
---|
| 160 | </cmdsynopsis>
|
---|
[61937] | 161 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-stack">
|
---|
| 162 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 163 | <group choice="req">
|
---|
| 164 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 165 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 166 | </group>
|
---|
[61937] | 167 | <arg choice="plain">stack</arg>
|
---|
| 168 | <arg>--cpu=<replaceable>id</replaceable></arg>
|
---|
| 169 | </cmdsynopsis>
|
---|
[56442] | 170 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-statistics">
|
---|
| 171 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 172 | <group choice="req">
|
---|
| 173 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 174 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 175 | </group>
|
---|
[56442] | 176 | <arg choice="plain">statistics</arg>
|
---|
| 177 | <arg>--reset</arg>
|
---|
| 178 | <arg>--descriptions</arg>
|
---|
[56568] | 179 | <arg>--pattern=<replaceable>pattern</replaceable></arg>
|
---|
[56442] | 180 | </cmdsynopsis>
|
---|
[89697] | 181 | <cmdsynopsis id="synopsis-vboxmanage-debugvm-guestsample">
|
---|
| 182 | <command>VBoxManage debugvm</command>
|
---|
[99154] | 183 | <group choice="req">
|
---|
| 184 | <arg choice="plain"><replaceable>uuid</replaceable></arg>
|
---|
| 185 | <arg choice="plain"><replaceable>vmname</replaceable></arg>
|
---|
| 186 | </group>
|
---|
[89697] | 187 | <arg choice="plain">guestsample</arg>
|
---|
| 188 | <arg>--filename=<replaceable>filename</replaceable></arg>
|
---|
| 189 | <arg>--sample-interval-us=<replaceable>interval</replaceable></arg>
|
---|
| 190 | <arg>--sample-time-us=<replaceable>time</replaceable></arg>
|
---|
| 191 | </cmdsynopsis>
|
---|
[56168] | 192 | </refsynopsisdiv>
|
---|
[99513] | 193 | <refsect1 id="vboxmanage-debugvm-description">
|
---|
[56168] | 194 | <title>Description</title>
|
---|
| 195 |
|
---|
[56442] | 196 | <para>The "debugvm" commands are for experts who want to tinker with the
|
---|
[77353] | 197 | exact details of virtual machine execution. Like the VM debugger
|
---|
| 198 | described in <xref linkend="ts_debugger" />, these commands are only useful if you are
|
---|
[56442] | 199 | very familiar with the details of the PC architecture and how to debug
|
---|
| 200 | software.</para>
|
---|
| 201 |
|
---|
| 202 | <refsect2 id="vboxmanage-debugvm-common-options">
|
---|
| 203 | <title>Common options</title>
|
---|
| 204 | <remark role="help-scope" condition="GLOBAL"/>
|
---|
| 205 | <para>The subcommands of <command>debugvm</command> all operate on a running virtual
|
---|
| 206 | machine:</para>
|
---|
| 207 | <variablelist>
|
---|
| 208 | <varlistentry>
|
---|
[99154] | 209 | <term><option><replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></option></term>
|
---|
[56442] | 210 | <listitem><para>Either the UUID or the name (case sensitive) of a VM.</para></listitem>
|
---|
| 211 | </varlistentry>
|
---|
| 212 | </variablelist>
|
---|
| 213 | </refsect2>
|
---|
| 214 |
|
---|
[56445] | 215 | <refsect2 id="vboxmanage-debugvm-dumpvmcore">
|
---|
[56481] | 216 | <title>debugvm dumpvmcore</title>
|
---|
[56466] | 217 | <remark role="help-copy-synopsis"/>
|
---|
[56168] | 218 | <para>
|
---|
[56442] | 219 | Creates a system dump file of the specified VM. This file will have
|
---|
[77353] | 220 | the standard ELF core format (with custom sections); see
|
---|
| 221 | <xref linkend="ts_guest-core-format" />.
|
---|
[56168] | 222 | </para>
|
---|
[56442] | 223 | <para>
|
---|
| 224 | This corresponds to the <command>writecore</command> command in the debugger.
|
---|
| 225 | </para>
|
---|
[56168] | 226 | <variablelist>
|
---|
| 227 | <varlistentry>
|
---|
[56568] | 228 | <term><option>--filename=<replaceable>filename</replaceable></option></term>
|
---|
[56442] | 229 | <listitem><para>The name of the output file.</para></listitem>
|
---|
[56168] | 230 | </varlistentry>
|
---|
[56442] | 231 | </variablelist>
|
---|
| 232 | </refsect2>
|
---|
| 233 |
|
---|
| 234 | <refsect2 id="vboxmanage-debugvm-info">
|
---|
[56481] | 235 | <title>debugvm info</title>
|
---|
[56466] | 236 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 237 | <para>
|
---|
| 238 | Displays info items relating to the VMM, device emulations and
|
---|
| 239 | associated drivers.
|
---|
| 240 | </para>
|
---|
| 241 | <para>
|
---|
| 242 | This corresponds to the <command>info</command> command in the debugger.
|
---|
| 243 | </para>
|
---|
| 244 | <variablelist>
|
---|
[56168] | 245 | <varlistentry>
|
---|
[84600] | 246 | <term><replaceable>item</replaceable></term>
|
---|
[56168] | 247 | <listitem>
|
---|
[56442] | 248 | <para>Name of the info item to display. The special name
|
---|
| 249 | <option>help</option> will list all the available info items and
|
---|
| 250 | hints about optional arguments.</para>
|
---|
[56168] | 251 | </listitem>
|
---|
| 252 | </varlistentry>
|
---|
[56442] | 253 | <varlistentry>
|
---|
| 254 | <term><replaceable>args</replaceable></term>
|
---|
| 255 | <listitem>
|
---|
| 256 | <para>Optional argument string for the info item handler. Most info items
|
---|
| 257 | does not take any extra arguments. Arguments not recognized are generally
|
---|
| 258 | ignored.</para>
|
---|
| 259 | </listitem>
|
---|
| 260 | </varlistentry>
|
---|
[56168] | 261 | </variablelist>
|
---|
| 262 | </refsect2>
|
---|
| 263 |
|
---|
[56442] | 264 | <refsect2 id="vboxmanage-debugvm-injectnmi">
|
---|
[56481] | 265 | <title>debugvm injectnmi</title>
|
---|
[56466] | 266 | <remark role="help-copy-synopsis"/>
|
---|
[56168] | 267 | <para>
|
---|
[56442] | 268 | Causes a non-maskable interrupt (NMI) to be injected into the guest. This
|
---|
| 269 | might be useful for certain debugging scenarios. What happens exactly is
|
---|
| 270 | dependent on the guest operating system, but an NMI can crash the whole
|
---|
| 271 | guest operating system. Do not use unless you know what you're doing.
|
---|
[56168] | 272 | </para>
|
---|
[56442] | 273 | </refsect2>
|
---|
| 274 |
|
---|
| 275 | <refsect2 id="vboxmanage-debugvm-log">
|
---|
[56481] | 276 | <title>debugvm log</title>
|
---|
[56466] | 277 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 278 | <para>
|
---|
[56568] | 279 | Changes the group settings for either debug (<option>--debug</option>)
|
---|
| 280 | or release (<option>--release</option>) logger of the VM process.
|
---|
[56442] | 281 | </para>
|
---|
[56568] | 282 | <para>
|
---|
| 283 | The <replaceable>group-settings</replaceable> are typically strings on the form
|
---|
| 284 | <computeroutput>em.e.f.l</computeroutput>, <computeroutput>hm=~0</computeroutput>
|
---|
| 285 | and <computeroutput>-em.f</computeroutput>. Basic wildcards are supported for
|
---|
| 286 | group matching. The <computeroutput>all</computeroutput> group is an alias for
|
---|
| 287 | all the groups.
|
---|
| 288 | </para>
|
---|
| 289 | <para>
|
---|
| 290 | Please do keep in mind that the group settings are applied as modifications
|
---|
| 291 | to the current ones.
|
---|
| 292 | </para>
|
---|
| 293 | <para>
|
---|
| 294 | This corresponds to the <command>log</command> command in the debugger.
|
---|
| 295 | </para>
|
---|
[56442] | 296 | </refsect2>
|
---|
| 297 |
|
---|
| 298 | <refsect2 id="vboxmanage-debugvm-logdest">
|
---|
[56481] | 299 | <title>debugvm logdest</title>
|
---|
[56466] | 300 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 301 | <para>
|
---|
[56568] | 302 | Changes the destination settings for either debug (<option>--debug</option>)
|
---|
| 303 | or release (<option>--release</option>) logger of the VM process. For details
|
---|
| 304 | on the destination format, the best source is src/VBox/Runtime/common/log/log.cpp.
|
---|
[56442] | 305 | </para>
|
---|
[56568] | 306 | <para>
|
---|
| 307 | The <replaceable>destinations</replaceable> is one or more mnemonics, optionally
|
---|
| 308 | prefixed by "no" to disable them. Some of them take values after a ":" or "="
|
---|
| 309 | separator. Multiple mnemonics can be separated by space or given as separate
|
---|
| 310 | arguments on the command line.
|
---|
| 311 | </para>
|
---|
| 312 | <para>
|
---|
| 313 | List of available destination:
|
---|
| 314 | </para>
|
---|
| 315 | <variablelist>
|
---|
| 316 | <varlistentry>
|
---|
| 317 | <term><option>file[=<replaceable>file</replaceable>], nofile</option></term>
|
---|
[93477] | 318 | <listitem><para>Specifies a log file. If no filename is given, one will be
|
---|
[56568] | 319 | generated based on the current UTC time and VM process name and placed in
|
---|
| 320 | the current directory of the VM process. Note that this will currently not
|
---|
| 321 | have any effect if the log file has already been opened.
|
---|
| 322 | </para></listitem>
|
---|
| 323 | </varlistentry>
|
---|
| 324 | <varlistentry>
|
---|
| 325 | <term><option>dir=<replaceable>directory</replaceable>, nodir</option></term>
|
---|
| 326 | <listitem><para>Specifies the output directory for log files. Note that this
|
---|
| 327 | will currently not have any effect if the log file has already been opened.
|
---|
| 328 | </para></listitem>
|
---|
| 329 | </varlistentry>
|
---|
| 330 | <varlistentry>
|
---|
| 331 | <term><option>history=<replaceable>count</replaceable>, nohistory</option></term>
|
---|
| 332 | <listitem><para>A non-zero value enables log historization, with the value
|
---|
| 333 | specifying how many old log files to keep.
|
---|
| 334 | </para></listitem>
|
---|
| 335 | </varlistentry>
|
---|
| 336 | <varlistentry>
|
---|
| 337 | <term><option>histsize=<replaceable>bytes</replaceable></option></term>
|
---|
| 338 | <listitem><para>The max size of a log file before it is historized. Default is infinite.</para></listitem>
|
---|
| 339 | </varlistentry>
|
---|
| 340 | <varlistentry>
|
---|
| 341 | <term><option>histtime=<replaceable>seconds</replaceable></option></term>
|
---|
| 342 | <listitem><para>The max age (in seconds) of a log file before it is historized. Default is infinite.</para></listitem>
|
---|
| 343 | </varlistentry>
|
---|
| 344 | <varlistentry>
|
---|
| 345 | <term><option>ringbuffer, noringbuffer</option></term>
|
---|
| 346 | <listitem><para>Only log to the log buffer until an explicit flush (e.g. via an assertion)
|
---|
| 347 | occurs. This is fast and saves diskspace.</para></listitem>
|
---|
| 348 | </varlistentry>
|
---|
| 349 | <varlistentry>
|
---|
| 350 | <term><option>stdout, nostdout</option></term>
|
---|
| 351 | <listitem><para>Write the log content to standard output.</para></listitem>
|
---|
| 352 | </varlistentry>
|
---|
| 353 | <varlistentry>
|
---|
| 354 | <term><option>stdout, nostdout</option></term>
|
---|
| 355 | <listitem><para>Write the log content to standard error.</para></listitem>
|
---|
| 356 | </varlistentry>
|
---|
| 357 | <varlistentry>
|
---|
| 358 | <term><option>debugger, nodebugger</option></term>
|
---|
| 359 | <listitem><para>Write the log content to the debugger, if supported by the host OS.</para></listitem>
|
---|
| 360 | </varlistentry>
|
---|
| 361 | <varlistentry>
|
---|
| 362 | <term><option>com, nocom</option></term>
|
---|
| 363 | <listitem><para>Writes logging to the COM port. This is only applicable for raw-mode and ring-0 logging.</para></listitem>
|
---|
| 364 | </varlistentry>
|
---|
| 365 | <varlistentry>
|
---|
| 366 | <term><option>user, nouser</option></term>
|
---|
| 367 | <listitem><para>Custom destination which has no meaning to VM processes..</para></listitem>
|
---|
| 368 | </varlistentry>
|
---|
| 369 | </variablelist>
|
---|
| 370 | <para>
|
---|
| 371 | This corresponds to the <command>logdest</command> command in the debugger.
|
---|
| 372 | </para>
|
---|
[56442] | 373 | </refsect2>
|
---|
| 374 |
|
---|
| 375 | <refsect2 id="vboxmanage-debugvm-logflags">
|
---|
[56481] | 376 | <title>debugvm logflags</title>
|
---|
[56466] | 377 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 378 | <para>
|
---|
[56568] | 379 | Changes the flags on either debug (<option>--debug</option>) or release
|
---|
| 380 | (<option>--release</option>) logger of the VM process. Please note that the
|
---|
| 381 | modifications are applied onto the existing changes, they are not replacing them.
|
---|
[56442] | 382 | </para>
|
---|
[56568] | 383 | <para>
|
---|
| 384 | The <replaceable>flags</replaceable> are a list of flag mnemonics, optionally
|
---|
| 385 | prefixed by a "no", "!", "~" or "-" to negate their meaning. The "+" prefix
|
---|
| 386 | can be used to undo previous negation or use as a separator, though better use
|
---|
| 387 | whitespace or separate arguments for that.
|
---|
| 388 | </para>
|
---|
| 389 | <para>
|
---|
| 390 | List of log flag mnemonics, with their counter form where applicable
|
---|
| 391 | (asterisk indicates defaults):
|
---|
| 392 | </para>
|
---|
| 393 | <variablelist>
|
---|
| 394 | <varlistentry>
|
---|
| 395 | <term><option>enabled*, disabled</option></term>
|
---|
| 396 | <listitem><para>Enables or disables logging.</para></listitem>
|
---|
| 397 | </varlistentry>
|
---|
| 398 | <varlistentry>
|
---|
| 399 | <term><option>buffered, unbuffered*</option></term>
|
---|
| 400 | <listitem><para>Enabling buffering of log output before it hits the destinations.</para></listitem>
|
---|
| 401 | </varlistentry>
|
---|
| 402 | <varlistentry>
|
---|
| 403 | <term><option>writethrough(/writethru)</option></term>
|
---|
| 404 | <listitem><para>Whether to open the destination file with writethru buffering settings or not.</para></listitem>
|
---|
| 405 | </varlistentry>
|
---|
| 406 | <varlistentry>
|
---|
| 407 | <term><option>flush</option></term>
|
---|
| 408 | <listitem><para>Enables flushing of the output file (to disk) after each log statement.</para></listitem>
|
---|
| 409 | </varlistentry>
|
---|
| 410 | <!-- Prefixes -->
|
---|
| 411 | <varlistentry>
|
---|
| 412 | <term><option>lockcnts</option></term>
|
---|
| 413 | <listitem><para>Prefix each log line with lock counts for the current thread.</para></listitem>
|
---|
| 414 | </varlistentry>
|
---|
| 415 | <varlistentry>
|
---|
| 416 | <term><option>cpuid</option></term>
|
---|
| 417 | <listitem><para>Prefix each log line with the ID of the current CPU.</para></listitem>
|
---|
| 418 | </varlistentry>
|
---|
| 419 | <varlistentry>
|
---|
| 420 | <term><option>pid</option></term>
|
---|
| 421 | <listitem><para>Prefix each log line with the current process ID.</para></listitem>
|
---|
| 422 | </varlistentry>
|
---|
| 423 | <varlistentry>
|
---|
| 424 | <term><option>flagno</option></term>
|
---|
| 425 | <listitem><para>Prefix each log line with the numberic flags corresponding to the log statement.</para></listitem>
|
---|
| 426 | </varlistentry>
|
---|
| 427 | <varlistentry>
|
---|
| 428 | <term><option>flag</option></term>
|
---|
| 429 | <listitem><para>Prefix each log line with the flag mnemonics corresponding to the log statement.</para></listitem>
|
---|
| 430 | </varlistentry>
|
---|
| 431 | <varlistentry>
|
---|
| 432 | <term><option>groupno</option></term>
|
---|
| 433 | <listitem><para>Prefix each log line with the log group number for the log statement producing it.</para></listitem>
|
---|
| 434 | </varlistentry>
|
---|
| 435 | <varlistentry>
|
---|
| 436 | <term><option>group</option></term>
|
---|
| 437 | <listitem><para>Prefix each log line with the log group name for the log statement producing it.</para></listitem>
|
---|
| 438 | </varlistentry>
|
---|
| 439 | <varlistentry>
|
---|
| 440 | <term><option>tid</option></term>
|
---|
| 441 | <listitem><para>Prefix each log line with the current thread identifier.</para></listitem>
|
---|
| 442 | </varlistentry>
|
---|
| 443 | <varlistentry>
|
---|
| 444 | <term><option>thread</option></term>
|
---|
| 445 | <listitem><para>Prefix each log line with the current thread name.</para></listitem>
|
---|
| 446 | </varlistentry>
|
---|
| 447 | <varlistentry>
|
---|
| 448 | <term><option>time</option></term>
|
---|
| 449 | <listitem><para>Prefix each log line with the current UTC wall time.</para></listitem>
|
---|
| 450 | </varlistentry>
|
---|
| 451 | <varlistentry>
|
---|
| 452 | <term><option>timeprog</option></term>
|
---|
| 453 | <listitem><para>Prefix each log line with the current monotonic time since the start of the program.</para></listitem>
|
---|
| 454 | </varlistentry>
|
---|
| 455 | <varlistentry>
|
---|
| 456 | <term><option>msprog</option></term>
|
---|
| 457 | <listitem><para>Prefix each log line with the current monotonic timestamp value in milliseconds since the start of the program.</para></listitem>
|
---|
| 458 | </varlistentry>
|
---|
| 459 | <varlistentry>
|
---|
| 460 | <term><option>ts</option></term>
|
---|
| 461 | <listitem><para>Prefix each log line with the current monotonic timestamp value in nanoseconds.</para></listitem>
|
---|
| 462 | </varlistentry>
|
---|
| 463 | <varlistentry>
|
---|
| 464 | <term><option>tsc</option></term>
|
---|
| 465 | <listitem><para>Prefix each log line with the current CPU timestamp counter (TSC) value.</para></listitem>
|
---|
| 466 | </varlistentry>
|
---|
| 467 | <varlistentry>
|
---|
| 468 | <term><option>rel, abs*</option></term>
|
---|
| 469 | <listitem><para>Selects the whether <computeroutput>ts</computeroutput> and
|
---|
| 470 | <computeroutput>tsc</computeroutput> prefixes should be displayed as relative to the
|
---|
| 471 | previous log line or as absolute time.</para></listitem>
|
---|
| 472 | </varlistentry>
|
---|
| 473 | <varlistentry>
|
---|
| 474 | <term><option>hex*, dec</option></term>
|
---|
| 475 | <listitem><para>Selects the whether the <computeroutput>ts</computeroutput> and
|
---|
| 476 | <computeroutput>tsc</computeroutput> prefixes should be formatted as hexadecimal
|
---|
| 477 | or decimal.</para></listitem>
|
---|
| 478 | </varlistentry>
|
---|
| 479 |
|
---|
| 480 | <!-- Suffixes and weird stuff. -->
|
---|
| 481 | <varlistentry>
|
---|
| 482 | <term><option>custom</option></term>
|
---|
| 483 | <listitem><para>Custom log prefix, has by default no meaning for VM processes.</para></listitem>
|
---|
| 484 | </varlistentry>
|
---|
| 485 |
|
---|
| 486 | <varlistentry>
|
---|
| 487 | <term><option>usecrlf, uself*</option></term>
|
---|
| 488 | <listitem><para>Output with DOS style (CRLF) or just UNIX style (LF) line endings.</para></listitem>
|
---|
| 489 | </varlistentry>
|
---|
| 490 | <varlistentry>
|
---|
| 491 | <term><option>overwrite*, append</option></term>
|
---|
| 492 | <listitem><para>Overwrite the destination file or append to it.</para></listitem>
|
---|
| 493 | </varlistentry>
|
---|
| 494 | </variablelist>
|
---|
| 495 |
|
---|
| 496 | <para>
|
---|
| 497 | This corresponds to the <command>logflags</command> command in the debugger.
|
---|
| 498 | </para>
|
---|
[56442] | 499 | </refsect2>
|
---|
| 500 |
|
---|
| 501 | <refsect2 id="vboxmanage-debugvm-osdetect">
|
---|
[56481] | 502 | <title>debugvm osdetect</title>
|
---|
[56466] | 503 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 504 | <para>
|
---|
| 505 | Make the VMM's debugger facility (re)-detect the guest operating system (OS).
|
---|
[56445] | 506 | This will first load all debugger plug-ins.
|
---|
[56442] | 507 | </para>
|
---|
| 508 | <para>
|
---|
| 509 | This corresponds to the <command>detect</command> command in the debugger.
|
---|
| 510 | </para>
|
---|
| 511 | </refsect2>
|
---|
| 512 |
|
---|
| 513 | <refsect2 id="vboxmanage-debugvm-osinfo">
|
---|
[56481] | 514 | <title>debugvm osinfo</title>
|
---|
[56466] | 515 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 516 | <para>
|
---|
| 517 | Displays information about the guest operating system (OS) previously
|
---|
| 518 | detected by the VMM's debugger facility.
|
---|
| 519 | </para>
|
---|
| 520 | </refsect2>
|
---|
| 521 |
|
---|
[56445] | 522 | <refsect2 id="vboxmanage-debugvm-osdmesg">
|
---|
[56481] | 523 | <title>debugvm osdmesg</title>
|
---|
[56466] | 524 | <remark role="help-copy-synopsis"/>
|
---|
[56445] | 525 | <para>
|
---|
| 526 | Displays the guest OS kernel log, if detected and supported.
|
---|
| 527 | </para>
|
---|
| 528 | <variablelist>
|
---|
| 529 | <varlistentry>
|
---|
[56568] | 530 | <term><option>--lines=<replaceable>lines</replaceable></option></term>
|
---|
[56445] | 531 | <listitem><para>Number of lines of the log to display, counting from
|
---|
| 532 | the end. The default is infinite.</para></listitem>
|
---|
| 533 | </varlistentry>
|
---|
| 534 | </variablelist>
|
---|
| 535 | </refsect2>
|
---|
| 536 |
|
---|
[56442] | 537 | <refsect2 id="vboxmanage-debugvm-getregisters">
|
---|
[56481] | 538 | <title>debugvm getregisters</title>
|
---|
[56466] | 539 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 540 | <para>
|
---|
| 541 | Retrieves register values for guest CPUs and emulated devices.
|
---|
| 542 | </para>
|
---|
[56168] | 543 | <variablelist>
|
---|
| 544 | <varlistentry>
|
---|
[56442] | 545 | <term><replaceable>reg-set.reg-name</replaceable></term>
|
---|
[56565] | 546 | <listitem>
|
---|
| 547 | <para>One of more registers, each having one of the following forms:</para>
|
---|
[56568] | 548 | <orderedlist>
|
---|
| 549 | <listitem><para>register-set.register-name.sub-field</para></listitem>
|
---|
| 550 | <listitem><para>register-set.register-name</para></listitem>
|
---|
| 551 | <listitem><para>cpu-register-name.sub-field</para></listitem>
|
---|
| 552 | <listitem><para>cpu-register-name</para></listitem>
|
---|
| 553 | <listitem><para>all</para></listitem>
|
---|
| 554 | </orderedlist>
|
---|
[56565] | 555 | <para>The <replaceable>all</replaceable> form will cause all registers
|
---|
| 556 | to be shown (no sub-fields). The registers names are case-insensitive.
|
---|
| 557 | </para>
|
---|
| 558 | </listitem>
|
---|
[56442] | 559 | </varlistentry>
|
---|
| 560 | <varlistentry>
|
---|
[56568] | 561 | <term><option>--cpu=<replaceable>id</replaceable></option></term>
|
---|
[56442] | 562 | <listitem><para>Selects the CPU register set when specifying just a
|
---|
| 563 | CPU register (3rd and 4th form). The default is 0.</para>
|
---|
[56168] | 564 | </listitem>
|
---|
| 565 | </varlistentry>
|
---|
[56442] | 566 | </variablelist>
|
---|
| 567 | </refsect2>
|
---|
| 568 |
|
---|
[56445] | 569 | <refsect2 id="vboxmanage-debugvm-setregisters">
|
---|
[56481] | 570 | <title>debugvm setregisters</title>
|
---|
[56466] | 571 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 572 | <para>
|
---|
| 573 | Changes register values for guest CPUs and emulated devices.
|
---|
| 574 | </para>
|
---|
| 575 | <variablelist>
|
---|
[56168] | 576 | <varlistentry>
|
---|
[56442] | 577 | <term><replaceable>reg-set.reg-name=value</replaceable></term>
|
---|
[56565] | 578 | <listitem>
|
---|
| 579 | <para>One of more register assignment, each having one of the following forms:</para>
|
---|
[56568] | 580 | <orderedlist>
|
---|
| 581 | <listitem><para>register-set.register-name.sub-field=value</para></listitem>
|
---|
| 582 | <listitem><para>register-set.register-name=value</para></listitem>
|
---|
| 583 | <listitem><para>cpu-register-name.sub-field=value</para></listitem>
|
---|
| 584 | <listitem><para>cpu-register-name=value</para></listitem>
|
---|
| 585 | </orderedlist>
|
---|
[56565] | 586 | <para>The value format should be in the same style as what
|
---|
| 587 | <command>getregisters</command> displays, with the exception that
|
---|
| 588 | both octal and decimal can be used instead of hexadecimal.</para>
|
---|
| 589 | </listitem>
|
---|
[56442] | 590 | </varlistentry>
|
---|
| 591 | <varlistentry>
|
---|
[61939] | 592 | <term><option>--cpu=<replaceable>id</replaceable></option></term>
|
---|
[56442] | 593 | <listitem><para>Selects the CPU register set when specifying just a
|
---|
| 594 | CPU register (3rd and 4th form). The default is 0.</para>
|
---|
[56168] | 595 | </listitem>
|
---|
| 596 | </varlistentry>
|
---|
| 597 | </variablelist>
|
---|
| 598 | </refsect2>
|
---|
| 599 |
|
---|
[56442] | 600 | <refsect2 id="vboxmanage-debugvm-show">
|
---|
[56481] | 601 | <title>debugvm show</title>
|
---|
[56466] | 602 | <remark role="help-copy-synopsis"/>
|
---|
[56168] | 603 | <para>
|
---|
[56568] | 604 | Shows logging settings for the VM.
|
---|
[56168] | 605 | </para>
|
---|
[56568] | 606 | <variablelist>
|
---|
| 607 | <varlistentry>
|
---|
| 608 | <term><option>--human-readable</option></term>
|
---|
| 609 | <listitem><para>Selects human readable output.</para></listitem>
|
---|
| 610 | </varlistentry>
|
---|
| 611 | <varlistentry>
|
---|
| 612 | <term><option>--sh-export</option></term>
|
---|
| 613 | <listitem><para>Selects output format as bourne shell style <command>export</command> commands.</para></listitem>
|
---|
| 614 | </varlistentry>
|
---|
| 615 | <varlistentry>
|
---|
| 616 | <term><option>--sh-eval</option></term>
|
---|
| 617 | <listitem><para>Selects output format as bourne shell style <command>eval</command> command input.</para></listitem>
|
---|
| 618 | </varlistentry>
|
---|
| 619 | <varlistentry>
|
---|
| 620 | <term><option>--cmd-set</option></term>
|
---|
| 621 | <listitem><para>Selects output format as DOS style <command>SET</command> commands.</para></listitem>
|
---|
| 622 | </varlistentry>
|
---|
| 623 | <varlistentry>
|
---|
| 624 | <term><replaceable>settings-item</replaceable></term>
|
---|
| 625 | <listitem>
|
---|
| 626 | <para>What to display. One or more of the following:</para>
|
---|
| 627 | <itemizedlist>
|
---|
| 628 | <listitem><para>logdbg-settings - debug log settings.</para></listitem>
|
---|
| 629 | <listitem><para>logrel-settings - release log settings.</para></listitem>
|
---|
| 630 | <listitem><para>log-settings - alias for both debug and release log settings.</para></listitem>
|
---|
| 631 | </itemizedlist>
|
---|
| 632 | </listitem>
|
---|
| 633 | </varlistentry>
|
---|
| 634 | </variablelist>
|
---|
| 635 |
|
---|
[56168] | 636 | </refsect2>
|
---|
| 637 |
|
---|
[61937] | 638 | <refsect2 id="vboxmanage-debugvm-stack">
|
---|
| 639 | <title>debugvm stack</title>
|
---|
| 640 | <remark role="help-copy-synopsis"/>
|
---|
| 641 | <para>
|
---|
[61938] | 642 | Unwinds the guest CPU stacks to the best of our ability. It is
|
---|
| 643 | recommended to first run the <command>osdetect</command> command, as this
|
---|
| 644 | gives both symbols and perhaps unwind information.
|
---|
[61937] | 645 | </para>
|
---|
| 646 | <variablelist>
|
---|
| 647 | <varlistentry>
|
---|
[61939] | 648 | <term><option>--cpu=<replaceable>id</replaceable></option></term>
|
---|
[61937] | 649 | <listitem><para>Selects a single guest CPU to display the stack for. The default is all CPUs.</para> </listitem>
|
---|
| 650 | </varlistentry>
|
---|
| 651 | </variablelist>
|
---|
| 652 |
|
---|
| 653 | </refsect2>
|
---|
| 654 |
|
---|
[56442] | 655 | <refsect2 id="vboxmanage-debugvm-statistics">
|
---|
[56481] | 656 | <title>debugvm statistics</title>
|
---|
[56466] | 657 | <remark role="help-copy-synopsis"/>
|
---|
[56442] | 658 | <para>
|
---|
| 659 | Displays or resets VMM statistics.
|
---|
| 660 | </para>
|
---|
| 661 | <para>
|
---|
| 662 | Retrieves register values for guest CPUs and emulated devices.
|
---|
| 663 | </para>
|
---|
| 664 | <variablelist>
|
---|
| 665 | <varlistentry>
|
---|
[56568] | 666 | <term><option>--pattern=<replaceable>pattern</replaceable></option></term>
|
---|
[56442] | 667 | <listitem><para>DOS/NT-style wildcards patterns for selecting statistics. Multiple
|
---|
| 668 | patterns can be specified by using the '|' (pipe) character as separator.</para>
|
---|
| 669 | </listitem>
|
---|
| 670 | </varlistentry>
|
---|
| 671 | <varlistentry>
|
---|
| 672 | <term><option>--reset</option></term>
|
---|
| 673 | <listitem><para>Select reset instead of display mode.</para></listitem>
|
---|
| 674 | </varlistentry>
|
---|
| 675 | </variablelist>
|
---|
| 676 |
|
---|
| 677 | </refsect2>
|
---|
| 678 |
|
---|
[89697] | 679 | <refsect2 id="vboxmanage-debugvm-guestsample">
|
---|
| 680 | <title>debugvm guestsample</title>
|
---|
| 681 | <remark role="help-copy-synopsis"/>
|
---|
| 682 | <para>
|
---|
| 683 | Creates a sample report of the guest activity.
|
---|
| 684 | </para>
|
---|
| 685 | <para>
|
---|
| 686 | Retrieves the filename to dump the report to.
|
---|
| 687 | </para>
|
---|
| 688 | <variablelist>
|
---|
| 689 | <varlistentry>
|
---|
| 690 | <term><option>--filename=<replaceable>filename</replaceable></option></term>
|
---|
| 691 | <listitem><para>The filename to dump the sample report to.</para>
|
---|
| 692 | </listitem>
|
---|
| 693 | </varlistentry>
|
---|
| 694 | <varlistentry>
|
---|
| 695 | <term><option>--sample-interval-us=<replaceable>interval</replaceable></option></term>
|
---|
| 696 | <listitem><para>The interval in microseconds between guest samples.</para>
|
---|
| 697 | </listitem>
|
---|
| 698 | </varlistentry>
|
---|
| 699 | <varlistentry>
|
---|
| 700 | <term><option>--sample-time-us=<replaceable>time</replaceable></option></term>
|
---|
| 701 | <listitem><para>The amount of microseconds to take guest samples.</para>
|
---|
| 702 | </listitem>
|
---|
| 703 | </varlistentry>
|
---|
| 704 | </variablelist>
|
---|
| 705 |
|
---|
| 706 | </refsect2>
|
---|
| 707 |
|
---|
[56168] | 708 | </refsect1>
|
---|
[56171] | 709 |
|
---|
[56168] | 710 | </refentry>
|
---|
| 711 |
|
---|