Solved

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

Posted on 2004-09-13
6
309 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

730 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