Logger: add format string input
[sdk/tools/netcoredbg.git] / README.md
1 # Debugger for .NET Core runtime
2
3 The debugger provides GDB/MI or VSCode Debug Adapter protocol and allows to debug .NET apps under .NET Core runtime.
4
5
6 ## Build
7
8 Build coreclr for your platform, see https://github.com/dotnet/coreclr for instructions.
9
10 Switch to `netcoredbg` directory, create `build` directory and switch into it:
11 ```
12 mkdir build
13 cd build
14 ```
15
16 Proceed to build with `cmake`.
17
18 > If `coreclr` and `netcoredbg` directories are next to each other, necessary `coreclr` files would be located automatically. Otherwise add `-DCLR_DIR=<path>/coreclr` to `cmake` command.
19
20 ### Ubuntu
21
22 ```
23 CC=clang CXX=clang++ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../bin
24 ```
25
26 ### macOS
27
28 ```
29 cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../bin
30 ```
31
32 ### Windows
33
34 ```
35 cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX="$pwd\..\bin"
36 ```
37
38 Compile and install:
39 ```
40 cmake --build . --target install
41 ```
42
43
44 ## Run
45
46 The above commands create `bin` directory with `netcoredbg` binary and additional libraries.
47
48 Now running the debugger with `--help` option should look like this:
49 ```
50 $ ../bin/netcoredbg --help
51 .NET Core debugger
52
53 Options:
54 --attach <process-id>                 Attach the debugger to the specified process id.
55 --interpreter=mi                      Puts the debugger into MI mode.
56 --interpreter=vscode                  Puts the debugger into VS Code Debugger mode.
57 --engineLogging[=<path to log file>]  Enable logging to VsDbg-UI or file for the engine.
58                                       Only supported by the VsCode interpreter.
59 --server[=port_num]                   Start the debugger listening for requests on the
60                                       specified TCP/IP port instead of stdin/out. If port is not specified
61                                       TCP 4711 will be used.
62 ```