Solved

What is Param#1, Param#2 in Dr.Watson Log

Posted on 2004-09-13
6
304 Views
Last Modified: 2012-06-27
Hi,
I have few questions about the Stack Back Trace section of Dr.Watson Log. here is the sample of the Dr.Watson log I am trying to analyse.

*----> Stack Back Trace <----*
FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
0728fcc4 77664a12 00000084 000006a4 00000001 00000004 ntdll!NtWaitForSingleObject
0728fdec 776b9f5f 000006a5 0728fe64 00000000 00000000 msafd!<nosymbols>
0728fe3c 75615392 000006a5 0728fe64 00000000 00000000 ws2_32!select
0728ff84 7800248d 7561a218 506e6570 656b6361 004b0310 wsnmp32!SnmpSetPort
0728ffb8 77f04ede 004b0310 506e6570 656b6361 004b0310 !beginthreadex
0728ffec 00000000 00000000 00000000 00000000 00000000 kernel32!lstrcmpiW
00000000 00000000 00000000 00000000 00000000 00000000 ObjectManager!<nosymbols>


My Questions are:
1). Does the values indicated in the Param#1, Param#2, etc are actual values or the Address of the memory location where my variables are stored?

2). If these are address to the variable, how I can find out the actual value I have passed?

3). Even though my method takes only two params, why the other to params are also filled with some value? What are those values? For ex. SnmpSetPort takes only to params, it has values 7561a218, 506e6570, 656b6361, 004b0310 for Param#1, 2, 3 &4 respectively.

0
Comment
Question by:Thangs
  • 2
6 Comments
 
LVL 86

Expert Comment

by:jkr
ID: 12048350
You cannot tell that without knowing whether your code is passing values or pointers - thus you need the symbol files. I suggest reading http://msdn.microsoft.com/msdnmag/issues/02/06/Bugslayer/default.aspx for a guide to crash dump analysis using DrWatson logs.
0
 
LVL 2

Author Comment

by:Thangs
ID: 12066651
jkr,
I am passing only the values. I have noticed that when I pass value say "5", still it is giving me a big 32 number. What am I missing here?
0
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 12067984
It could well be that the compiler passes the values in a CPU register - what you are seeing in the log is the stack, though.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now