Post it here I will have a look at it for you if you don’t have the full development system .
If you do have a professional edition, then assuming you have a tcp/ip connection to your target system you can initiate the trace from the IDE and then look at the capture data from there. All you need is to run qconn on the target ( and pdebug if you plan on doing remote debugging )
Man, I am really trying to teach myself how to fish but this stuff is just not intuitive. I now downloaded the momentics development for windows and installed it. The help file is riddled with open the System Profile Editor but I have no idea where to start it from. They make sound like it in the main menu bar but I don’t have that tab. What is going on here?
It appears I have a task that is going back and forth with the procnto and I can’t find out why. I looked in the code of the process which is doing it but don’t see where it is sending the message. From the system profiler I got a:
I search my code base for a message or pulse defined as 0x20100 but I don’t see it being defined. Is this a qnx pre-defined msg?
Should I see an actual MsgSend fuction call for this to happen or are there other calls that produce this same event to be logged?
The IO_CONNECT_OPEN comes from trying to connect to a resource manager.
It’s a predefined QNX message and you won’t find it in your code.
Code wise, I’d say one of your processes (the high priority one) is calling to a resource manager over and over again every so often (maybe the serial driver).
Any chance the code might be closing and opening the serial driver someplace every so often? The other possibility is that the occasional writes to the flash disk are causing this. When those are made, do they just leave the file open continually and write occasionally or do they open/write/close again.
You can look for io_open in the help docs or IO_CONNECT_OPEN which will lead you to io_open.
It is always leaving it open. That is probably bad.
I did at one time wrap the actual file writes with a permissive and I would still see the problem even though I wasn’t writting out to this debug file.
Let me change that always open thing and get back with you.
Thanks
In the system profiler I can hover over an event and get a decription. Is there a way to see that description and the ones around it in some text view instead of a hover pop-up? I guess more like what traceprinter does.
The always open case is actually the one you want.
The IO_CONNECT call would come from repeatedly ‘opening’ the file each time you write data because the file system manager is a resource manager and you would have to connect to it in order to send data to it that would be written to the disk.
I am not sure if my debug file would be a resource manager though. I read some stuff on what a resource manger is and I don’t think a file on the hard disk would be a resource manager. Am I wrong?
Eric - are you in the SystemProfiler perspective? You should see a Tracelog view at the bottom, under the Timeline editor.
If not, goto Window->Open Perspective and select QNX System Profiler
BTW if you want to post the kev file (they gzip very well, btw) or send them directly Mario has offered to look over it, and I would extend the same offer.
You are correct. A file on the hard disk is not by itself a resource manager. A file on the hard disk could be a program that happens to be a resource manager. Also, a resource manager can attach to any name space and make it look like a file on the hard disk. That is, you could (but usually wouldn't) attach to the name space, /usr/logos/mylog.jpg. Then whenever a program opened that file you could return a different set of data to every open. I think R Krten describes doing something like this in his book to show how you could make a web counter image.
thanks for the help on getting the tracelog. I guess I wasn’t in the System Profiler ‘Perspective’. Going to open perspective->others->qnx system profiler fixed it. Thanks again guys.
I found my high priority task was forking and it was taking up to 5 ms to fork the process which is running at the parent’s priority cause lots of havoc on my system. I switched to a thread for the work that the fork was doing.
Thanks to everyone who helped me learn a lot from the past few days.