Skip to content

Commit fde4566

Browse files
committed
Add CreateCoreDump4 spec
1 parent 368856a commit fde4566

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

Diff for: documentation/design-docs/ipc-protocol.md

+52
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,58 @@ Payload
743743
}
744744
```
745745

746+
### `CreateCoreDump4`
747+
748+
Command Code: `0x0104`
749+
750+
The `CreateCoreDump4` command is used to instruct the runtime to generate a core dump of the process. It augments `CreateCoreDump3` with the ability to collect verbose logs and to redirect them to any given file.
751+
752+
In the event of an [error](#errors), the runtime will attempt to send an error message and subsequently close the connection.
753+
754+
#### Inputs
755+
756+
Header: `{ Magic; Size; 0x0104; 0x0000 }`
757+
758+
* `string dumpName`: As described in [`CreateCoreDump`](#createcoredump).
759+
* `uint dumpType`: As described in [`CreateCoreDump`](#createcoredump).
760+
* `uint flags`: Flags as defined by [`CreateCoreDump3`](#createcoredump3), with the following addition:
761+
* `GenerateDumpFlagsLogToFile = 0x8`: Generate crashdump report next to the generated dump.
762+
* `string logPath`: The path to use for logging. In case this is null or empty, the runtime will log to a file adjacent to the dump.
763+
764+
#### Returns (as an IPC Message Payload)
765+
766+
Header: `{ Magic; Size; 0xFF00; 0x0000; }`
767+
768+
`CreateCoreDump4` returns:
769+
770+
* `int32 hresult`: The result of creating the core dump (`0` indicates success).
771+
* `string error`: Optionally the payload may have an error describing the collection issues.
772+
773+
##### Details
774+
775+
776+
Input:
777+
778+
```
779+
Payload
780+
{
781+
string dumpName,
782+
uint dumpType,
783+
uint flags
784+
string logPath
785+
}
786+
```
787+
788+
Returns:
789+
790+
```c
791+
Payload
792+
{
793+
int32 hresult
794+
string errorString
795+
}
796+
```
797+
746798
## Profiler Commands
747799

748800
### `AttachProfiler`

0 commit comments

Comments
 (0)