Sponsored Content
Operating Systems AIX function trace back and address to line number conversion Post 302362403 by Wkdunreal on Friday 16th of October 2009 01:20:19 AM
Old 10-16-2009
function trace back and address to line number conversion

Hi,
I am new to AIX and I am developing a small tool for our product which helps debug memory leaks etc.

Q1)Is there a way in which i can get a function trace back as to the call (lets say malloc() )has been made in which file--> in which function.

I tried using the

#pragma options ( i might be making a mistake in the sub options for tbtable would need guidance here too)
and

-qtbtable=full

which says that a full stack trace would be appended as a text file at the end of the object file that we create if we create the obj file using the -g option.

But I dont seem to see any stack trace at the end of the obj file.
Can someone tell me what possibly could be my mistake? or suggest a better way of getting a stack trace


now using __builtin_return_address() i can get the code address from where the fucntion call ( malloc() ) has been made.

Q2)Is there any function which will help me find the line number of the function call ( malloc() ).

On HP UX we have addr2line() function which does this thing... on AIX i dont have an idea which function does it.

Thank you very much in advance.
Regards
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

conversion of a input function to i18n

m using unix c with curses im trying out the conversion of an existing code in c to i18n for the japanese language. the problem is that, the input which is given as the japanese characters is not taken correctly. and what it outputs is question marks(i.e. ???), equivalent to the number o f... (4 Replies)
Discussion started by: nirnay_s
4 Replies

2. UNIX for Dummies Questions & Answers

Date format conversion function

Hello, does somebody knows about a function that would convert a date like: YYMMDD into a date like YYYY-MM-DD ? Thank you for your ideas :) (9 Replies)
Discussion started by: Cecile
9 Replies

3. Shell Programming and Scripting

Function Trace

Does anyone know if there is a util out there to run through a shell script and be able to trace the function call tree. I have inherited some code and the original author was ****mad**** keen on functions - even ones called only once! If anyone knows of anything I would appreciate it - web... (3 Replies)
Discussion started by: ajcannon
3 Replies

4. Shell Programming and Scripting

Adding a columnfrom a specifit line number to a specific line number

Hi, I have a huge file & I want to add a specific text in column. But I want to add this text from a specific line number to a specific line number & another text in to another range of line numbers. To be more specific: lets say my file has 1000 lines & 4 Columns. I want to add text "Hello"... (2 Replies)
Discussion started by: Ezy
2 Replies

5. Programming

Binary conversion function

Is/are there any function(s) in C that convert(s) character/ASCII/Decimal to binary and vice versa? what about bcopy and strcpy? (1 Reply)
Discussion started by: Peevish
1 Replies

6. UNIX for Dummies Questions & Answers

How to read contents of a file from a given line number upto line number again specified by user

Hello Everyone. I am trying to display contains of a file from a specific line to a specific line(let say, from line number 3 to line number 5). For this I got the shell script as shown below: if ; then if ; then tail +$1 $3 | head -n $2 else ... (5 Replies)
Discussion started by: grc
5 Replies

7. Shell Programming and Scripting

IP address to decimal format conversion

I have a file which consist of some class 4 IP address as 172.16.112.50 172.16.112.50 172.16.112.50 172.16.112.100 192.168.1.30 172.16.112.100 172.16.112.50 172.16.112.50 172.16.112.50 i want to store them in pure decimal notations instead of the given dotted decimal formats e.g.... (2 Replies)
Discussion started by: vaibhavkorde
2 Replies

8. IP Networking

IP address to host name conversion

hi, i want to get the hostname for the specified IP address. # host www.google.com www.google.com has address 173.194.69.104 www.google.com has address 173.194.69.105 www.google.com has address 173.194.69.106 www.google.com has address 173.194.69.147 www.google.com has address... (3 Replies)
Discussion started by: kavitha rao
3 Replies

9. Shell Programming and Scripting

Line count of trace files for 24 period

Hi, Using solaris 10 5.10 o/s I am learning awk as I work here on the job. What I need to do is isolate the trace file for the last 24 hours. After that I need to open those trace files and search for 'TNS-|ORA-' message from each one. These trace files MAY HAVE an occurance of them. I... (5 Replies)
Discussion started by: bdby
5 Replies

10. UNIX for Beginners Questions & Answers

How to find encapsulating function name from line number?

I am looking at a log file which just tells me the filename and the line number inside that file that has the Error. What I am interested is knowing the encapsulating function. For example, here are the contents of the log file Error: foo.file on line wxy Error: foo.file... (3 Replies)
Discussion started by: kaaliakahn
3 Replies
STACK(9)						   BSD Kernel Developer's Manual						  STACK(9)

NAME
stack -- kernel thread stack tracing routines SYNOPSIS
#include <sys/param.h> #include <sys/stack.h> In the kernel configuration file: options DDB options STACK struct stack * stack_create(void); void stack_destroy(struct stack *st); int stack_put(struct stack *st, vm_offset_t pc); void stack_copy(struct stack *src, struct stack dst); void stack_zero(struct stack *st); void stack_print(struct stack *st); void stack_print_ddb(struct stack *st); void stack_print_short(struct stack *st); void stack_print_short_ddb(struct stack *st); void stack_sbuf_print(struct sbuf sb*, struct stack *st); void stack_sbuf_print_ddb(struct sbuf sb*, struct stack *st); void stack_save(struct stack *st); DESCRIPTION
The stack KPI allows querying of kernel stack trace information and the automated generation of kernel stack trace strings for the purposes of debugging and tracing. To use the KPI, at least one of options DDB and options STACK must be compiled into the kernel. Each stack trace is described by a struct stack. Before a trace may be created or otherwise manipulated, storage for the trace must be allo- cated with stack_create(), which may sleep. Memory associated with a trace is freed by calling stack_destroy(). A trace of the current kernel thread's call stack may be captured using stack_save(). stack_print() and stack_print_short() may be used to print a stack trace using the kernel printf(9), and may sleep as a result of acquiring sx(9) locks in the kernel linker while looking up symbol names. In locking-sensitive environments, the unsynchronized stack_print_ddb() and stack_print_short_ddb() variants may be invoked. This function bypasses kernel linker locking, making it usable in ddb(4), but not in a live system where linker data structures may change. stack_sbuf_print() may be used to construct a human-readable string, including conversion (where possible) from a simple kernel instruction pointer to a named symbol and offset. The argument sb must be an initialized struct sbuf as described in sbuf(9). This function may sleep if an auto-extending struct sbuf is used, or due to kernel linker locking. In locking-sensitive environments, such as ddb(4), the unsynchro- nized stack_sbuf_print_ddb() variant may be invoked to avoid kernel linker locking; it should be used with a fixed-length sbuf. The utility functions stack_zero, stack_copy, and stack_put may be used to manipulate stack data structures directly. SEE ALSO
ddb(4), printf(9), sbuf(9), sx(9) AUTHORS
The stack(9) function suite was created by Antoine Brodin. stack(9) was extended by Robert Watson for general-purpose use outside of ddb(4). BSD
June 24, 2009 BSD
All times are GMT -4. The time now is 03:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy