I want to know how can I debug shell scripts.Many a times I found while installing a software or a package some where some link to some file or dependency is broken.Some one suggested me use of -vx in the beginning I want to know what are the other methods to debug shell scripts.
downloaded a project from the Internet and tried to debug it, but run into a problem. i managed to copy the part where it build the executable I need. The problem is that I cannot use gdb with this executable for some reason. However, running the it without gdb seems to work ok. Below is what it shows when compiling and link.
I have a html page that calls a c cgi script on my local server; how can i view the html page and debug the script at the same time? if i would give some input in a form on the html page then i want to debug the script with the entered data. my gues was with w3m and gdb but i don't know how its done...
It seems GDB can not expand or show the macro expansion or its definition under the GDB debug to while debugging the program. how to debug macros under GDB?
I have developed an application written in C, Linux well tested and stripped off all the symbols for final deployment. When I'm testing the stripped off version of the application in the field. Here the application has got crashed. Now how to debug the application.
is there a way to debug my library files from DDD? Basically a way to pass the paths to DDD so I can view the source etc. I'm having a segmentation nightmare, which only crops up about every 10 or so starts, I know it's in one file in a library. I could move the source file into my general code to debug, but am sure there's a way in DDD.
I am trying to debug the dsdv.cc file of ns-2. I have attached the screenshots of the results.I added ns-2.34 as project in eclipse then opened dsdv.cc file. given a ".TCL" file as argument it runs ok. as in screenshot-1 but when i want to debug it gives the error "No Source Available for main at 0x83b269f" shown in screenshot-2.
I'm using ubuntu 9.04;I want to debug my project that comprises mutiple files.When I cd to the project folder and run the command "gdb rawusb_test",Once I tried the flag -g and changed the line "$(CC) -o $(PROG) $(OBJS) $(LIBS)" to "$(CC) -g -o $(PROG) $(OBJS) $(LIBS)", it didn't work!I want to trace the program "rawusb_test" line by line and see the parameters' values!Could you help me how I should debug this project or how the Makefile should be changed?
Now I have a project which include three directories /bin, /inc and /src. All of header files (*.h) are included in /inc and all of source(*.c) files are stored in /src, i.e. a.c, b.c, c.c..., the final generated executable file will locate in /bin. after compling with makefile, all of obj files will be generated in /src/obj like a.o, b.o, c.o, d....! Moreover an final.exe executable file will be generated in the /bin directory. Now if I want to debug it with GDB, how can I do it?
After doing make I have the following questions? How can I see that the build is with debug information? What shall I do to build the release version? Can I have the release version in one directory and the debug version in another? I mean, when I change from debug to release, make will not overwrite the debug version.
I am trying to debug a src code that I download from the Internet.It is built with libtool. I am able to debug it with gdb, but i cannot debug it with eclipse.
root@yes-desktop:/usr/src/eglibc-2.11.1/malloc# uname -a Linux yes-desktop 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux 2 gcc version root@yes-desktop:/usr/src/eglibc-2.11.1/malloc# gcc -v Using built-in specs.
[code]....
1 why cann't i debug the test? because i can't step into the "operator new" function.
I've been trying to work out a way to stop chunks of code being compiled using a variable in my makefile but can't work it out. What I mean is for example in my code I might have.
/****output comms portdata********/ printf(" debug comms port %d",ReadPort("ttys1);
I only wish this code to be compiled when I'm debugging. What I've tried is using #ifdef with
#ifdef COMM_PORT_DEBUG printf(" debug comms port %d",ReadPort("ttys1); #endif
Then in my make file I set COMM_PORT_DEBUG to 1 so
DEBUG_DEFS = COMM_PORT_DEBUG=1
I then thought I could put it into my in my link line
I want to allow my program to be able to run in DEBUG mode. i.e., I want to be able to run ./program, and I want to be able to run ./program -v to show all the debug output. How do I go about setting up something like that?
I am developing an application whose executable is generated inside a certain folder hierarchy (say: /DevPath/MyProject/bin). My source code is located in a different branch of this hierarchy (say: /DevPath/MyProject/src). When my app crashes, its core files are stored in /DevPath/MyProject. I'm developing the app on a pc, but running it on a separate platform in which i can only execute it. Folder hierarchy is the same as above on both computers. Usually, when a new executable version is ready, we update both the executable and the source code on the target platform, transferring all the new /DevPath/MyProject folder on it. But sometimes it can really be a bother, so we update only the executable.
1)In the case we only update the executable, keeping an old source code version, and the app generates a core file, can i trust the backtrace produced by gdb in this case? I.e., does gdb need the latest source code files or it just needs the debugging information?
2) (More radical question ) Do i really need to keep the source code on the target platform for core dump analysis or i just need the executable?
running a java application in a remote site,and I would like to debug the application. I'm using jdb, and, due to network architecture, I can only use jdb do debug in text-mode. To debug in text-mode I use the command: jdb -attach remotesite: port. At this point this is ok. Now I would like to attach the source code to the jdb. I tried the command
jdb -attach remotesite: port ~/src/org/path/file.java
to attach the source code to the remote debug to. But it doesn't work. In jdb, I try the command use ~/src/org/path/file.java but it doesn't work either. How can I attach the source code to the remote debug?
I would like to extract debug information but I have some problems. For example, I have a executable a.out...
Quote:
nm -f sysv a.out | grep ".global_var" >vars.txt
With this command I extract all my variables. All of them are in .global_var section, and it give me follow information:
Quote:
CAN_station_n |08073258| D | OBJECT|00000001| |.global_var CONTROLend |080732a7| D | OBJECT|00000001| |.global_var
[code]....
Well, I have only address of my vars, but I would like to know type var or struct of the variables. With dwarf dump I have all of information, but it is a mess...
I ran GDB on a program and am receiving following errors, Code: anisha@linux-uitj:~/junk> g++ -g jk.cpp anisha@linux-uitj:~/junk> gdb a.out GNU gdb (GDB) SUSE (6.8.91.20090930-2.4) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later [URL] This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-suse-linux". For bug reporting instructions, please see: [URL] ... Reading symbols from /home/anisha/junk/a.out...done. (gdb) b readline Breakpoint 1 at 0x400b90: file jk.cpp, line 19. (gdb) r Starting program: /home/anisha/junk/a.out Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 Try: zypper install -C "debuginfo(build-id)=591af1afa33f255704fb6a60859b93d00e205302" Missing separate debuginfo for /usr/lib64/libstdc++.so.6 Try: zypper install -C "debuginfo(build-id)=62220ad5c8941afb5d332c0c47d32f8beec8ac50" Missing separate debuginfo for /lib64/libm.so.6 Try: zypper install -C "debuginfo(build-id)=57fc1891d8d9f419fb8c7fc06a8285563b53a47e" Missing separate debuginfo for /lib64/libgcc_s.so.1 Try: zypper install -C "debuginfo(build-id)=0206e11fa8ca0db0633073adcbf1349a7871e1dc" Missing separate debuginfo for /lib64/libc.so.6 Try: zypper install -C "debuginfo(build-id)=c5a3dfd66bf61fcdec9bc22153b2fbd0d6697960" can't open input file (null) Program exited with code 01. (gdb)
I am trying to create a shell script similar to ls, but which only lists directories. I have the first half working (no argument version), but trying to make it accept an argument, I am failing. My logic is sound I think, but I'm missing something on the syntax.
Code: if [ $# -eq 0 ] ; then d=`pwd` for i in * ; do if test -d $d/$i ; then echo "$i:" code....
Is there some type of functional way to read things in the Python shell interpreter similar to less or more in the bash (and other) command line shells?
Example:
Code:
>>> import subprocess >>> help(subprocess) ... [pages of stuff to read] ...
I'm hoping so as I hate scrolling and love how less works with simple keystrokes for page-up/page-down/searching etc.
I've created a simple script based menu. This menu will be accessed by only a certain users via ssh.When user logs in, the menu will automatically run. (configured at user's .bash_profile).How do I force the session to close when user hits Ctrl-C or Ctrl-Break ?In a nutshell, I don't want user to have access to shell.
I've installed mono developer, but when I want to make debug I got this message : Build failed. ApplicationName='/usr/bin/gmcs', CommandLine='"@/tmp/tmp17a7a5e2.tmp"', CurrentDirectory= ...
I recently started shell programming and my task now is to do a menu display.Currently i am stuck whereby user will input both title and author and it will delete it.
Is it possible to assist in the programming Shell Scripts Job: To send a message to the email,All orders written in Terminal or ssh example : ls , pwd , cat , and other
I have a situation where I am in a non-interactive shell. I have tried from within my non-interative shell to spawn an interactive shell but my output still does not goto me. Isn't there a way I can somehow go into /proc or somwhere and make the output my /dev/tty1? Or some way else to remedy this?The situation arises because I drop from my restricted shell environment (a sort of CLI interface), into the actual Linux shell. I cannot change the code of the CLI environment I am just faced with being in the linux shell environment and its non-interactive. Its very annoying to have to put > /dev/tty1 after every command I type.
Not to mention it seems damn near impossible to get pagers like more and less to work properly when your in a non-interactive shell.