10 More Discussions You Might Find Interesting
1. Programming
Hey everyone,
I'm trying to attach to a process that is crashing so I can debug the source code. I've tried this:
dbx -a PID
stop at "file.cpp":line#
However, nothing ever breaks. The service crashes and restarts, but I never see it hitting the code. I've tried to use a core file, but... (2 Replies)
Discussion started by: ctote
2 Replies
2. Programming
I have tried lots of stuff but i can't get it working, i have also found a Thread in this Forum about it but it didn't describe how the program has to be run ect.
My issue is that i want to run a program with multiple arguments eg.
./myprog arg1 arg2 arg3 arg4 arg5
with dbx, but i cant get... (8 Replies)
Discussion started by: alcatros
8 Replies
3. AIX
Hi,
We are porting a virtual machine application which emits native PowerPC instructions. The instructions are written to the data segment and are then executed, similar to the JIT / hot spot technology used in the Java VM.
The problem is that the AIX debugger (dbx) will not show me stack... (3 Replies)
Discussion started by: nrgiii
3 Replies
4. Programming
hi i have executable(eg test) of my application
that has the following syntax to run
test -Ddatabase_name Inputfile
Now i want to debug it using dbx
so i do
dbx test
(dbx) stop at /abc/test/test.c:90
stop at /abc/test/test.c:90
^ syntax error
the... (0 Replies)
Discussion started by: mad_man12
0 Replies
5. UNIX for Advanced & Expert Users
Hi ..
I have a core_dump in the server... AIX 5.3 . It was created by on proc executable called "ProcessIse" . from the log report i found the source file name
"ProcessIseInterface.C" which created the core file.
the core file name is : "core" under /iprs/bin directory.
can you help me... (1 Reply)
Discussion started by: vparunkumar
1 Replies
6. AIX
Hi ..
I have a core_dump in the server... AIX 5.3 . It was created by on proc executable called "ProcessIse" . from the log report i found the source file name
"ProcessIseInterface.C" which created the core file.
the core file name is : "core" under /iprs/bin directory.
can you help me... (1 Reply)
Discussion started by: vparunkumar
1 Replies
7. Programming
I have a problem whith dbx: there is no dbx installed!!!
Could someone tell me where do i get dbx program and how to install it?
Thanks. (1 Reply)
Discussion started by: calloc
1 Replies
8. Solaris
Hi All,
I've been using Linux for past 2yrs for professional dev.
Im well-off with gnu gdb.
I am a C++ developer.
Now that i use solaris, I need help on DBX.
Regards,
Sumanth (1 Reply)
Discussion started by: Sumanth
1 Replies
9. Programming
I am trying to debug a program, which had generated a core dump. When I issue 'where' command, it list me filename along with line number, which in case is not at all there in the .c file.
Example:
(dbx) where
func1(var1= (...), var2 = 86, var3 = 0,var4 = 0)
, line 87 in "prog.f"
main(),... (1 Reply)
Discussion started by: S.P.Prasad
1 Replies
10. Programming
Which is better??
I have always been a gdb fan.. But ppl say dbx is beter better for debugging the core.. Do all GDB lovers agree to it???
:cool: (1 Reply)
Discussion started by: jyotipg
1 Replies
DBX(5) File Formats Manual DBX(5)
NAME
dbx - dbx symbol table information
DESCRIPTION
The compiler symbol information generated for dbx(1) uses the same structure as described in stab(5), with additional type and scope infor-
mation appended to a symbol's name. The assembler directive used to describe symbol information has the following format:
stabs ``string'',kind,0,size,value
String contains the name, source language type, and scope of the symbol, kind specifies the memory class (e.g., external, static, parame-
ter, local, register), and size specifies the byte size of the object, if relevant. The third field (0 above) is unused. For a global
variable or a type, value is unused; for a local variable or parameter, it is the offset from the frame pointer, for a register variable,
it is the associated register number.
The different kinds of stab entries are interpreted by dbx as follows:
N_GSYM The symbol is a global variable (e.g., .comm variable). The variable's address can be found from the corresponding ld(1) symbol
entry, thus the value field for N_GSYM symbols is ignored. For example, a global variable ``x'' will have both an N_GSYM entry
and an ld(1) entry (e.g., N_BSS + N_EXT). See a.out(5) for details about these other entries. of
N_FUN The symbol is a procedure or function. The size field contains the line number of the entry point. The value field contains the
address of the entry point (in the text segment).
N_STSYM The symbol is a statically allocated variable for which an initial value has been specified. The value field contains the
address of the variable (in the data segment).
N_LCSYM The symbol is statically allocated, but not initialized.
N_RSYM The symbol is a register variable whose value is kept in the register denoted by the value field.
N_PSYM The symbol is a parameter whose value is pushed on the stack before the call. The value field contains the offset from the argu-
ment base pointer (on the VAX, the ap register).
N_LSYM The symbol is a local variable whose value is stored in the most recently defined procedure's stack frame. The value is the
(often negative) offset from the frame pointer (on the VAX, the fp register).
N_PC, N_MOD2
The symbol defines separate compilation information for pre-linking checking for Berkeley Pascal and DEC Modula-2 programs
respectively. For Pascal, the value field contains the line number that the symbol is defined on. The value field is not used
for Modula-2.
Most of the source level information about a symbol is stored in the string field of the stab entry. Since strings are kept in a separate
string table in the a.out file, they can be arbitrarily long. Thus there are no restrictions on the kind or length of information in the
string field, and it was not necessary to modify the assembler or loader when extending or modifying the format of this information.
Below is a grammar describing the syntax of the symbol string. Except in the case of a constant whose value is a string, there are no
blanks in a symbol string.
NAME: [a-zA-Z_][a-zA-Z_0-9]*
INTEGER: [-][0-9][0-9]*
REAL: [+-][0-9]*(.[0-9][0-9]*|)([eE]([+-]|)[0-9][0-9]*|)
STRING: ``.*''
BSTRING: .*
String:
NAME `:' Class
`:' Class
Class:
`c' `=' Constant `;'
Variable
Procedure
Parameter
NamedType
`X' ExportInfo -- export or import information (for N_MOD2 only)
Constant:
`i' INTEGER
`r' REAL
`c' OrdValue
`b' OrdValue
`s' STRING
`e' TypeId `,' OrdValue
`S' TypeId `,' NumElements `,' NumBits `,' BSTRING
OrdValue:
INTEGER
NumElements:
INTEGER
NumBits:
INTEGER
Variable:
TypeId -- local variable of type TypeId
`r' TypeId -- register variable of type TypeId
`S' TypeId -- module variable of type TypeId (static global in C)
`V' TypeId -- own variable of type TypeId (static local in C)
`G' TypeId -- global variable of type TypeId
Procedure:
Proc -- top level procedure
Proc `,' NAME `,' NAME -- local to first NAME,
-- second NAME is corresponding ld symbol
Proc:
`P' -- global procedure
`Q' -- local procedure (static in C)
`I' -- internal procedure (different calling sequence)
`F' TypeId -- function returning type TypeId
`f' TypeId -- local function
`J' TypeId -- internal function
Parameter:
`p' TypeId -- value parameter of type TypeId
`v' TypeId -- reference parameter of type TypeId
NamedType:
`t' TypeId -- type name for type TypeId
`T' TypeId -- C structure tag name for struct TypeId
TypeId:
INTEGER -- Unique (per compilation) number of type
INTEGER `=' TypeDef -- Definition of type number
INTEGER `=' TypeAttrs TypeDef
--
-- Type attributes are extra information associated with a type,
-- such as alignment constraints or pointer checking semantics.
-- Dbx interprets some of these, but will ignore rather than complain
-- about any it does not recognize. Therefore this is a way to add
-- extra information for pre-linking checking.
--
TypeAttrs:
`@' TypeAttrList `;'
TypeAttrList:
TypeAttrList `,' TypeAttr
TypeAttr
TypeAttr:
`a' INTEGER -- align boundary
`s' INTEGER -- size in bits
`p' INTEGER -- pointer class (e.g., checking)
BSTRING -- something else
TypeDef:
INTEGER
Subrange
Array
Record
`e' EnumList `;' -- enumeration
`*' TypeId -- pointer to TypeId
`S' TypeId -- set of TypeId
`d' TypeId -- file of TypeId
ProcedureType
`i' NAME `:' NAME `;' -- imported type ModuleName:Name
`o' NAME `;' -- opaque type
`i' NAME `:' NAME `,' TypeId `;'
`o' NAME `,' TypeId `;'
Subrange:
`r' TypeId `;' INTEGER `;' INTEGER
Array:
`a' TypeId `;' TypeId -- array [TypeId] of TypeId
`A' TypeId -- open array of TypeId
`D' INTEGER `,' TypeId -- N-dim. dynamic array
`E' INTEGER `,' TypeId -- N-dim. subarray
ProcedureType:
`f' TypeId `;' -- C function type
`f' TypeId `,' NumParams `;' TParamList `;'
`p' NumParams `;' TParamList `;'
NumParams:
INTEGER
Record:
`s' ByteSize FieldList `;' -- structure/record
`u' ByteSize FieldList `;' -- C union
ByteSize:
INTEGER
FieldList :
Field
FieldList Field
Field:
NAME `:' TypeId `,' BitOffset `,' BitSize `;'
BitSize:
INTEGER
BitOffset:
INTEGER
EnumList:
Enum
EnumList Enum
Enum:
NAME `:' OrdValue `,'
ParamList:
Param
ParamList Param
Param:
NAME `:' TypeId `,' PassBy `;'
PassBy:
INTEGER
TParam:
TypeId `,' PassBy `;'
TParamList :
TParam
TParamList TParam
Export:
INTEGER ExportInfo
ExportInfo:
`t' TypeId
`f' TypeId `,' NumParams `;' ParamList `;'
`p' NumParams `;' ParamList `;'
`v' TypeId
`c' `=' Constant
A `?' indicates that the symbol information is continued in the next stab entry. This directive can only occur where a `;' would otherwise
separate the fields of a record or constants in an enumeration. It is useful when the number of elements in one of these lists is large.
SEE ALSO
dbx(1), stab(5), a.out(5)
4.3 Berkeley Distribution January 12, 1986 DBX(5)