3. Bdb -- Running Programs Under BDB

Browsing
Home: | Bdb The ``Bigloo Debugger'' Nov 1999
Previous chapter: | Overview
Next chapter: | Stopping
Running Programs Under BDB
3.1 | Solaris Run
3.2 | Scheme vs C
3.3 | Compilation
3.4 | Starting
Chapters
| Bdb Copying Conditions
1. | Table of contents
2. | Overview
3. | Running Programs Under BDB
4. | Stopping
5. | Continuing execution after a breakpoint
6. | Examining the Stack
7. | Using BDB under Emacs
| Bibliography
| Index
| Other informations may be found at See info-file ` gdb.info', Gdb.
3.1 Solaris Run
On the Solaris platform, the normal initialization process of the Garbage Collector is to raise a `SIGSEGV` signal. You can safely ignore this signal. Simply emit a |continue| when the execution first stops because of that signal.
3.2 Scheme vs C
BDB is able to debug both Scheme and C code. Commands to inspect variables and code are the same for Scheme and C. The general convention adopted by BDB is to represent Scheme symbols in uppercase. This distinction is of importance because the BDB treatment is different for a Scheme expression and for a C expression. For instance, the command
    break main

sets a breakpoint into a C function named `main`. While the command

    break MAIN

sets a breakpoint into a Scheme function named `main`.

3.3 Compilation

BDB requires special compilation mode for Bigloo and C files. Some of the files may not be compiled in that special mode. For those, BDB won't be able to step over the code. It is mandatory that, at least, the Bigloo module that contains the main entry point is compiled with debugging informations The two options that tells Bigloo to produce BDB code are `-gbdb` and `-gbdb2`. The second delivers more runtime informations but may enlarge the size of the binary file. The option to use when compiling C code is the regular debugging option (e.g. `-g`) There is no need to link programs with static version of the libraries although setting up breakpoints in library code is enabled only for static libraries. On some platforms linking with static versions of the libraries will prevent the debugger from getting confused when loading a dynamic library (e.g. it may happen that the debugger steps the dynamic code loader).

3.4 Starting

``
`run`
``
`r`
  Use the `run` command to start your program under BDB. You must first specify the program name with an argument to BDB, or by using the `file` command

The arguments.
  Specify the arguments passed to your program as the arguments of the `run` command. If no arguments are specified and this run invocation is not the first one, previous arguments to the last `run` command are used
The standard input and output.
  The current BDB version is unable to debug interactive programs. This is a major flaw remedied by the graphical version of BDB (namely KBDB).

This Scribe page has been generated by `scribeinfo`.
Last update Tue Dec 16 13:46:42 2003