Displaying 20 results from an estimated 500 matches similar to: "How do I print wide char string arguments!"
2008 Apr 20
1
dtrace script to monitor file access
A user has asked us to find out who is changing one of their files and how it is being changed. I came up
with the script below:
#!/usr/sbin/dtrace -s
#pragma D option quiet
BEGIN
{
printf("\n Timestamp gid uid pid ppid execname function current directory file name\n\n");
}
syscall::open:entry,
2008 Jul 07
2
copyin having secondary effects.
Dtracing gethostbyname I''m trying to read the h_alias array and all the entries it points to however every time I copyin an entry pointed to by the first entry in teh h_alias array the other entries in the array get corrupted.
So I have ended up with this script:
#!/usr/bin/dtrace -CZs
#include <netdb.h>
pid$target::gethostbyname_r:return
{
self->r = (struct hostent
2008 Oct 01
0
''introspect'' method
(PS: another idea that comes along the same lines as a dumper function and IMO would be helpful is an ''introspect'' function. Given an argument:
introspect(probefunc)
it returns back the expected arguments for the probe func, their datastructures, as well as the syntax on how to dereference them. If an intelligent copyinstr comes out, this would be easy to write, and would
2008 May 20
6
Dtrace queries - predicates & func arg tracing
[1] Predicates in one-liners
I would like to list the probe modules in my executable and then
dynamically create a dscript to trace execution of those modules alone
(by excluding the 3rd party and system libraries). I tried the below
script without success. The conditional given in the predicate is not
taking effect. Why is this so ?
$ dtrace -ln ''pid$target:::
2009 Aug 18
2
Change syslog output
Hy!
I receive an nxge driver messages on console:
Aug 18 11:08:42 [hostname] nxge: NOTICE: nxge_ipp_eccue_valid_check:
rd_ptr = XXX wr_ptr = YYY
I find the bug description/correction at sun web page, and i know i
can ignore it.
I thinking about how can i delete from console only these messages
(here is my first version, what is not (so) elegant):
#!/usr/sbin/dtrace -qs
#pragma D option
2006 Aug 08
9
Handling userland char ** pointers
I''ve been trying to get access to a userland string that''s behind a
second level pointer using DTrace, but I can''t seem to get it to work.
I started with the example on the Team DTrace Tips and Tricks slides:
trace(copyinstr(*(uintptr_t *)copyin(arg0, curpsinfo->pr_dmodel ==
PR_MODEL_ILP32 ? 4 : 8)));
And when I couldn''t get it to work, I started
2008 Sep 30
12
dtrace missing ''unlinkat''? showing process stack?
everyone,
Just out of curiosity, I did a
dtrace -n ''syscall:::entry { @num[execname, probefunc] = count(); }''
and looked at the entries produced by ''rm''.
I see everything that rm did, *except* the unlinkat - which is unfortunate because I want to trace which processes have deleted which files.
So - does dtrace contain unlinkat as a probe for a system call?
2005 Sep 27
2
Invalid address error message
Hi,
I ran a d-program with syscall::open:entry probe but got the following
error messages sometimes:
dtrace: error on enabled probe ID 1 (ID 14: syscall::open:entry): invalid
address (0xff34e000) in predicate at DIF offset 76
dtrace: error on enabled probe ID 6 (ID 14: syscall::open:entry): invalid
address (0xff34e000) in predicate at DIF offset 28
I don''t know how to interpret these
2011 Jan 05
0
dtrace-discuss Digest, Vol 69, Issue 2
Hello Srikant -
A quantization distributes the results of your aggregation into ranges
ordered by a power-of-two. Presumably what you''d do in your script is
capture the inclusive elapsed time of each function call in your library,
then use this quantization to see how tightly-banded the times are. Perhaps
there''s some blocking I/O in some of your calls, for example, in which
2006 Sep 06
3
Dtrace Snooping
Dear dtrace Experts,
I have seen some dtrace utilities like opensnoop and execsnoop etc.
My interest is to write a simple script that can snoop the files which
uses the 3 syscalls like open,create,unlink.
I have gone through dtrace oneliners that can do the same :
dtrace -n ''syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0));}''
dtrace -n
2006 Mar 16
0
Re: Can dtrace agent of JDK be used in IBM Websphere?
Hi, Yufei:
Thanks for your kind action.
Let me centralize all the harm-hearted guys and involved alias in one email.
Below is the answer of your question (Can you reply with more details on
what failed? Does websphere use an IBM or Sun developed SDK? )
1. Seems IBM bundled JDK can not detect agent options, like below:
If use Sun JDK 1.5, no problem:
/usr/jdk/jdk1.5.0_06/bin/java
2011 Jan 05
0
Understand the dtrace quantize output
Hi,
I am kind of new to DTrace , I have written a script to time function calls
in our application library ,
Wanted to know how to interpret the output from quantize of the elapsed time
in each function call , here is a sample
Here is the entry and return function for the library that is being traced
pid$1:libswduar::entry
{
duarEntry[probefunc] = timestamp;
2006 Sep 12
3
dtrace reports different counts depending on what is being traced
We are using following dtrace script to analyze an application. However
we see different number of lwp_yield and yield calls reported depending
on whether we trace mutex_lock or mutex_unlock or not. The number
reported when we are not tracing mutex_lock or mutex_unlock is higher.
What could be going on here and which one is the correct number. This is
on S10 U2.
Thanks,
Rao.
2009 Jul 24
9
getting extra characters with printf(copyin(a, b))
Hi,
I have a situation where a DTrace script is printing out extra characters, despite the copyin() call giving a specific length. Can anyone think of why this might be? It''s fine the first time all of the probes fire, but on a second run of my generating operations, I get junk in there. For example:
set setop length 5, FOUND KEY, STORED
set setop length 5, FOUND KEY, STORED
get
2009 Mar 20
1
suspicious dtrace results
i am doing reads and writes to /dev/rdsk/c0t2d0s4
using dtrace to see how much time it took for ssdread and ssdwrite. It shows very small number 4 or 5.
#pragma D option flowindent
syscall::pread:entry
{
self->trace = 1;
self->size = arg2;
}
syscall::pwrite:entry
{
self->trace = 1;
self->size = arg2;
}
fbt:ssd:ssdread:entry
/self->trace/
{
self->start = timestamp;
2006 May 24
2
Reading external files with dtrace
I''d like to be able to dynamically read external configuration files within a dtrace script. I know dtrace allows inclusion of C header files but only at the preprocessing stage.
What we need to do is dynamically enable/disable probes based on current application settings. I''d rather not have a bunch of independant scripts running and being started and killed whenever the
2006 Feb 17
3
CPU time stats
hi,
I am trying to find out the avg cpu time spent in each of my user
methods (exclusive of other methods invoked by a method).
Hence the following snippet failed miserably:
-----------------------
pid$target:a.out::entry
{ time[probefunc] = timestamp;}
pid$target:a.out::return
{ @spent[probefunc] = avg(timestamp - time[probefunc]);}
END
{ printa(@spent);}
2007 Oct 01
1
strange problem on SXDE3
Strange problem on a desktop, 64 bit, SXDE3.
] ./jpg1.d
dtrace: failed to compile script ./jpg1.d: "/usr/lib/dtrace/iscsi.d",
line 94: syntax error near "uiscsiproto_t"
Doesn''t matter what script. Even classic oneliners such as:
] dtrace -n ''syscall::open*:entry { printf("%s %
s",execname,copyinstr(arg0)); }''
bomb in this way...
dtrace:
2006 Mar 24
3
Triggering on close of a written file.
I have just started my first ''serious'' dtrace script and can use some
advice.
I want to have a probe triggered when close() occurs after a
succesfull write of /etc/hosts ( I want to regenerate the nameserver
zone files
from /etc/hosts after it has changed)
At the moment I have the following code:
syscall::open*:entry,
syscall::creat*:entry
{
self->file=arg0;
2005 Aug 12
3
Funny output from write syscall
I have a clause that look like this:
syscall::write:entry
/execname == "ntpd" && self->recspec/
{
speculate(self->recspec);
printf(" fd=%d buf=%d\n%s",arg0,arg2,
stringof(copyin(arg1,arg2-1)));
}
The ntpd program always write a \n trminated string in this
context, so I used the "arg2-1" to drop the \n.
This works