Forum Discussion
Hi Matthew,
I did not try it, but maybe http://support.smartbear.com/viewarticle/43460/ is what you are looking for.
Hi Alex,
Thank you for your suggestion which I tested using code similar to:
char sz1[10];
char sz2[10];
sprintf(sz2, "12345678901234");
Unfortunately AQTime didn't detect the overrun. I think the reason can be found in the description of how AQTime implements the "Check Memory Bounds" option: http://support.smartbear.com/viewarticle/43359/
This says: "AQtime does not track allocations done on the stack, therefore you cannot track violations in the stack memory blocks."
It seems AQTime doesn't support what I am looking for.
Thanks, Matthew
- AlexKaras10 years agoChampion Level 3
Hi Matthew,
You may ask Support directly using this form http://support.smartbear.com/message/?prod=AQtime and referencing this thread.
I will appreciate if you let us know their answer.
- matthew_jenkins10 years agoNew Contributor
Hi Alex,
I consulted AQTime support as you suggested. The comeuppance seems to be (quoting from one of the emails I received) "AQtime can detect buffer overruns' negative side effects, i.e. stack corruptions, not the overruns themselves.".
I have intepreted this as meaning: if an overrun only goes into an adjacent char array then it wont be detected; if it corrupts the stack AQTime can be used to investigate the overrun.
Regards, Matthew
- AlexKaras10 years agoChampion Level 3
Hi Matthew,
Thank you a lot for the update. Much appreciated.
Just wondering, what tool do you use to create a code? I am far not C/C++ expert, but I remember that there is some compiler option for MS compiler that inserts some signature on memory allocation and asserts its value during runtime.
Any reason why it cannot be used? (At least for the debug builds?)
Related Content
- 3 years ago
- 5 years ago
- 3 years ago
- 4 years ago
Recent Discussions
- 7 months ago
- 2 years ago