Skip to content

jimktrains/pgdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

    pgdb is a wrapper allowing the output of multiple programs to be recieved
      and used at a single terminal
    Copyright (C)  2009 Jim Keener

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    You can contact the author via email at jkeener@psc.edu or snail mail at:
	 James Keener
	 Pittsburgh Supercomputing Center
	 300 S. Craig St.
	 Pittsburgh, Pa 15312

This is a set of perl scripts (client and server) that redirect the input and output of gdb (or any program really) over the network to a server, so that multiple nodes can run gdb without the need for each to have a terminal, as gdb usually needs.

fib.c is a program I wrote as a small test.


HOW TO USE
----------
Make sure that your program has something like:
 sprintf(dbg, "perl -w client.pl %s %d 1 &", argv[0], getpid());
 system(dbg);
 sleep(5);

 The arguments to client are "name of program" "pid" "mpirank"

start a server in one window
  perl -w server.pl
start the mpi job in another
if you want, start the viewer in another
	perl -w viewer.pl <mpi rank of host you want to watch>
When the debugging output comes
 a <command> - sends a command to all nodes
 # <command> - sends a command to node #

 Note, when using the viewer, you do not need to prepend the # of
 the node, that is automatic.  However, p and a commands (p commands
 to pgdb and a is to all nodes) get passed along as normal.

About

A PERL wrapper around gdb (or idb) that allows it to be run on parallel jobs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published