File: debug.dox

package info (click to toggle)
isc-kea 3.0.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 62,036 kB
  • sloc: cpp: 594,791; sh: 26,896; lex: 8,540; yacc: 8,424; python: 1,065; xml: 149; makefile: 39
file content (31 lines) | stat: -rw-r--r-- 1,150 bytes parent folder | download
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
// Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

/**

 @page debug Debugging Kea

@section debugSymbols Enabling debug symbols

There are flags that make the compiler produce more abundant debugging
information that can be read by a debugger. When `--buildtype=debug` is added
to `meson setup`, it passes one of these flags to the compiler: `-g`.

Some compilers don't document some of the flags, such as clang for
-g3. However, practice shows that clang behaves the same way as g++
in that regard. As an experiment, providing -g4 results in
`error: unknown argument: '-g4'`, but providing -g3 successfully
compiles, and supposedly puts it into effect.

Disabling optimizations via `-O0` is also recommended for debugging.

g++ also provides `-ggdb`.

The `-D tests=enabled` flag besides enabling unit tests, also enables useful
debugging functionality: log4cplus's own logging, and adds more sanity checks
in DNS code.

*/