Profiling madness.

Hi all!

I’m trying to profile a network driver under the IDE, but I’m getting a
couple of strange problems.

Firstly, I can compile, debug and profile standard applications without
any problems.

The strangeness I’m seeing here is when I attach to the io-net_g process
and attempt the profiling. The sampling information comes up ok but I
get no call information. Additionally, when I click on one of the
entries in the sampling information I’ll get the appropriate file pulled
up, but It usually points to the wrong function in the file.

Any comments/suggestions? There does not appear to be much in the way of
documentation for the profiler.

Regards

Dave Edwards

You must execute as root and the program must exit cleanly with a exit(0)
“Dave Edwards” <Dave.edwards@abicom-international.com> wrote in message
news:3DF5FF8A.5000207@abicom-international.com

Hi all!

I’m trying to profile a network driver under the IDE, but I’m getting a
couple of strange problems.

Firstly, I can compile, debug and profile standard applications without
any problems.

The strangeness I’m seeing here is when I attach to the io-net_g process
and attempt the profiling. The sampling information comes up ok but I
get no call information. Additionally, when I click on one of the
entries in the sampling information I’ll get the appropriate file pulled
up, but It usually points to the wrong function in the file.

Any comments/suggestions? There does not appear to be much in the way of
documentation for the profiler.

Regards

Dave Edwards

You can not get call information from a dll unless the process which loaded
the dll was built with profiling. This is because the process startup must
connect to the profiler agent (qconn) to send this information to the IDE.
Sampling information however is obtained by the profiler agent alone, this
way you can always get this info with or without profiling enabled at
compile/link time.

As to the misaligned source code, which platform are you building the driver for?

Dave Edwards wrote:

Hi all!

I’m trying to profile a network driver under the IDE, but I’m getting a
couple of strange problems.

Firstly, I can compile, debug and profile standard applications without
any problems.

The strangeness I’m seeing here is when I attach to the io-net_g process
and attempt the profiling. The sampling information comes up ok but I
get no call information. Additionally, when I click on one of the
entries in the sampling information I’ll get the appropriate file pulled
up, but It usually points to the wrong function in the file.

Any comments/suggestions? There does not appear to be much in the way of
documentation for the profiler.

Regards

Dave Edwards

“Dave Edwards” <Dave.edwards@abicom-international.com> wrote in message
news:3DF5FF8A.5000207@abicom-international.com

There does not appear to be much in the way of
documentation for the profiler.

You’re right. But we’re working hard to change that.

Thanks for the feedback!

\

Doug Smith
Technical Publications
QNX Software Systems

Another point to add to the documentation is a guide on how to debug
io-net. It’s nice having an integrated IDE, but it’s just a pretty toy
for sorting out network issues :frowning:)

Seriously though, an indication of it’s capabilities when debugging
io-net (and other DLLs) would be a great help.

Dave



Doug Smith wrote:

“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DF5FF8A.5000207@abicom-international.com> …

There does not appear to be much in the way of
documentation for the profiler.


You’re right. But we’re working hard to change that.

Thanks for the feedback!

\

Doug Smith
Technical Publications
QNX Software Systems

Does anyone have a profiled version of io-net or io-net_g?

With the code issue, I’m self hosted, although I have another issue with
profiling on a target machine, this time I cannot get any function call
information. It just returns a memory address and the amount of time taken.

Regards

Dave


David Inglis wrote:

You can not get call information from a dll unless the process which loaded
the dll was built with profiling. This is because the process startup must
connect to the profiler agent (qconn) to send this information to the IDE.
Sampling information however is obtained by the profiler agent alone, this
way you can always get this info with or without profiling enabled at
compile/link time.

As to the misaligned source code, which platform are you building the
driver for?

Dave Edwards wrote:


Hi all!

I’m trying to profile a network driver under the IDE, but I’m getting
a couple of strange problems.

Firstly, I can compile, debug and profile standard applications
without any problems.

The strangeness I’m seeing here is when I attach to the io-net_g
process and attempt the profiling. The sampling information comes up
ok but I get no call information. Additionally, when I click on one of
the entries in the sampling information I’ll get the appropriate file
pulled up, but It usually points to the wrong function in the file.

Any comments/suggestions? There does not appear to be much in the way
of documentation for the profiler.

Regards

Dave Edwards

I’m doing that, although I’m not sure how to exit from io-net cleanly.

Will a unmount do the job?

Dave


Rejean Senecal wrote:

You must execute as root and the program must exit cleanly with a exit(0)
“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DF5FF8A.5000207@abicom-international.com> …

Hi all!

I’m trying to profile a network driver under the IDE, but I’m getting a
couple of strange problems.

Firstly, I can compile, debug and profile standard applications without
any problems.

The strangeness I’m seeing here is when I attach to the io-net_g process
and attempt the profiling. The sampling information comes up ok but I
get no call information. Additionally, when I click on one of the
entries in the sampling information I’ll get the appropriate file pulled
up, but It usually points to the wrong function in the file.

Any comments/suggestions? There does not appear to be much in the way of
documentation for the profiler.

Regards

Dave Edwards
\

Another point to add to the documentation is a guide on how to debug
io-net. It’s nice having an integrated IDE, but it’s just a pretty toy
for sorting out network issues > :frowning:> )

Seriously though, an indication of it’s capabilities when debugging
io-net (and other DLLs) would be a great help.

Dave

I’ve noted it and will investigate it as a possible tutorial.

Thanks again!

\

Doug Smith
Technical Publications
QNX Software Systems