aboutsummaryrefslogtreecommitdiffstats
path: root/docs/db.md
blob: e77daee59fffe112694163bb5faeb80fbc0b92c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# syz-db

`syz-db` program can be used to manipulate corpus.db databases that are used
by syz-managers.

## Build

Build `syz-db` with `make db` or by changing to `tools/syz-db` and run `go build`.

## Options

`syz-db` currently overs the following generic arguments:

```shell
  -arch string
    	target arch
  -os string
    	target OS
  -version uint
    	database version
  -vv int
    	verbosity
```

That can be used with

```
  syz-db pack dir corpus.db
```

to pack a database

```
  syz-db unpack corpus.db dir
```

to unpack a database. A file containing performed syscalls will be returned.

```
  syz-db merge dst-corpus.db add-corpus.db* add-prog*
```

to merge databases. No additional file will be created: The first file will be replaced by the merged result.

```
  syz-db bench corpus.db
```

to run a deserialization benchmark. For example:

```
syz-db -os=linux -arch=amd64 bench corpus.db
```

could give an output like

```
allocs 123 MB (123 M), next GC 123 MB, sys heap 123 MB, live allocs 123 MB (123 M), time 324s.
```