GNUPro Toolkit for Linux v1.0
Manufacturer: Cygnus Solutions
Price: $79.00 US
Reviewer: Daniel Lazenby
GNUPro Toolkit for Linux is designed for developing both commercial and noncommercial Linux applications on native Linux platforms. It is a set of tested and certified, open-source, GNU standard C, C++ and assembly language development tools. The reviewed release of the product (v1.0) is a Linux-only product. This packaging of the Toolkit is specifically targeted toward the Linux desktop developer.
The compiler and development tools consist of GNU's C compiler (ANSI conforming), C++ compiler (ANSI tracking), assembler, C preprocessor, linker, debugger and the GNUPro visual debugger. The GNUPro libraries include standard ANSI C runtime, math subroutine libraries, C++ class and C++ iostreams. All of the compiler and development tools, except gdbtk, are command-line tools. (gdbtk brings up the GNUPro visual debugger). The other command-line tools function like standard GNU tools.
A set of binary and general utilities is also included. Tools such as objcopy, objdump, ranlib, strip, ar and nm are examples of the included binary utilities. The general utilities provide a set of tools for comparing and merging files. Tools such as cmp, diff, diff3, sdiff and patch are included in the general utilities.
For me, GNUPro's visual debugger makes debugging easier. I like being able to see graphically what is happening. Figure 1 contains a KDE environment screen capture of the debugger's Source Window.
Typical menu, tool, display window and status bars are provided. The tool bar provides run, stop, function navigation and assembler navigation buttons. Then there are the register, memory, stack, watch expressions, local variables, break points and console dialog box buttons. These buttons are followed by the stack navigation buttons. Each of the function buttons implements or executes a GNU gdb command-line interface command. The dialog buttons open windows that display related information. The Register Window button dynamically displays registers and their content. Memory is dynamically displayed in the Memory Window. The current state of the call stack is displayed in the Stack Window. The Source Window will update its display to reflect any selections made in the Stack Window. An “expressions to watch” window is displayed by the Watch button. This window will be blank unless expressions, registers or pointers have been identified for watching. Current values of local variables are displayed in the Local Variables Window. A list of all defined breakpoints is shown in the Breakpoint Window. Another way of managing breakpoints that may not be readily visible/accessible in the Source Window is provided by the Breakpoint Window. A Console Window is displayed by the console button. This window provides a command-line interface to GNUPro Debugger.
A mouse click or static cursor within the Source Window produces several pieces of information. The current value of a variable is displayed when the mouse cursor is held over a variable. Holding the cursor over a variable and right-clicking the mouse produces a pop-up menu. This menu offers two choices: add the item to the watch list, or dump the memory. Selecting either of these produces a dialog box displaying the selected information. Executable lines are shown with a minus sign on the left side of the window. Left-clicking the mouse in this region will either add or remove a break point. Right-clicking the mouse offers a pop-up menu with a couple of break point management options.
Below the status line are three drop-down list boxes. All of the source and header files associated with the executable are presented in the left-most box. The middle box displays all functions in the source or header currently displayed. Any of the items in these two list boxes may be selected for display. Four items in the right list box control what is being displayed. The display options are source only, assembly only, source and assembly mixed, and a split screen with source on top and assembly at the bottom.
|Using Django and MongoDB to Build a Blog||Mar 05, 2014|
|What virtualization solution do you use/manage at work?||Mar 04, 2014|
|Our Assignment||Mar 04, 2014|
|March 2014 Issue of Linux Journal: 20 Years of Linux Journal||Mar 03, 2014|
|Have Resume - Will Travel||Feb 28, 2014|
|March 2014 Video Preview||Feb 28, 2014|
- Using Django and MongoDB to Build a Blog
- Our Assignment
- Sign Up to Win a Silicon Mechanics Swag Pack!
- March 2014 Issue of Linux Journal: 20 Years of Linux Journal
- Have Resume - Will Travel
- Linux Systems Administrator
- Senior Perl Developer
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Technical Support Rep
- Talking to Twitter
- You have to be careful there
1 week 2 days ago
- Wonder when LJ is going to
1 week 3 days ago
- Puerto Rico Free Software
1 week 4 days ago
1 week 5 days ago
- I hate voice commands
1 week 6 days ago
- usabilty --- AGAIN with this nonsense
1 week 6 days ago
- Don't make excuses
1 week 6 days ago
- Sorry to let you know, but
1 week 6 days ago
- Ridiculous statement. Not a
2 weeks 5 hours ago
2 weeks 9 hours ago