Initial bulk commit for "Git on MSys"
[msysgit/historical-msysgit.git] / mingw / info / gdbint / Requirements.html
blob49685d85c3a65c07d6af429f7b079c116c076274
1 <html lang="en">
2 <head>
3 <title>GDB Internals</title>
4 <meta http-equiv="Content-Type" content="text/html">
5 <meta name="description" content="GDB Internals">
6 <meta name="generator" content="makeinfo 4.3">
7 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
8 </head>
9 <body>
10 <div class="node">
11 <p>
12 Node:<a name="Requirements">Requirements</a>,
13 Next:<a rel="next" accesskey="n" href="Overall-Structure.html#Overall%20Structure">Overall Structure</a>,
14 Previous:<a rel="previous" accesskey="p" href="index.html#Top">Top</a>,
15 Up:<a rel="up" accesskey="u" href="index.html#Top">Top</a>
16 <hr><br>
17 </div>
19 <h2 class="chapter">Requirements</h2>
21 <p>Before diving into the internals, you should understand the formal
22 requirements and other expectations for GDB. Although some
23 of these may seem obvious, there have been proposals for GDB
24 that have run counter to these requirements.
26 <p>First of all, GDB is a debugger. It's not designed to be a
27 front panel for embedded systems. It's not a text editor. It's not a
28 shell. It's not a programming environment.
30 GDB is an interactive tool. Although a batch mode is
31 available, GDB's primary role is to interact with a human
32 programmer.
34 GDB should be responsive to the user. A programmer hot on
35 the trail of a nasty bug, and operating under a looming deadline, is
36 going to be very impatient of everything, including the response time
37 to debugger commands.
39 GDB should be relatively permissive, such as for expressions.
40 While the compiler should be picky (or have the option to be made
41 picky), since source code lives for a long time usually, the
42 programmer doing debugging shouldn't be spending time figuring out to
43 mollify the debugger.
45 GDB will be called upon to deal with really large programs.
46 Executable sizes of 50 to 100 megabytes occur regularly, and we've
47 heard reports of programs approaching 1 gigabyte in size.
49 GDB should be able to run everywhere. No other debugger is
50 available for even half as many configurations as GDB
51 supports.
53 </body></html>