Access Violation Tracking

Bauss via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Nov 5 03:41:56 PST 2014


On Wednesday, 5 November 2014 at 11:27:02 UTC, thedeemon wrote:
> On Wednesday, 5 November 2014 at 11:09:42 UTC, Bauss wrote:
>> Is there any way to track down access violations, instead of 
>> me having to look through my source code manually.
>>
>> I have a pretty big source code and an access violation 
>> happens at runtime, but it's going to be a nightmare looking 
>> through it all to find the access violation. Not to mention 
>> all the tests I have to run.
>>
>> So if there is a way to catch an access violation and find out 
>> where it occured it would be appreciated!
>
> What OS are you using? Did you run any debugger?

I am running Windows, but I am not using any debugger.
I was more looking for a build in function.

On Wednesday, 5 November 2014 at 11:31:01 UTC, bearophile wrote:
> Bauss:
>
>> Is there any way to track down access violations, instead of 
>> me having to look through my source code manually.
>>
>> I have a pretty big source code and an access violation 
>> happens at runtime, but it's going to be a nightmare looking 
>> through it all to find the access violation. Not to mention 
>> all the tests I have to run.
>>
>> So if there is a way to catch an access violation and find out 
>> where it occured it would be appreciated!
>
> This was discussed some times, and Walter is against this, but 
> I think he is wrong, and eventually things will change. So I 
> think this discussion should be brought to the main D newsgroup 
> again.
>
> Ideally in non-release mode D should put asserts where a access 
> violation could happen. But I don't know how much slowdown this 
> will cause. If practical real tests show that the slowdown is 
> excessive, then a compiler switch could be added to activate 
> those asserts.
>
> Bye,
> bearophile
I agree with you completely thathe is wrong. There should 
definitely be a way to find access violations within the program. 
I cannot add asserts and checks everywhere since performance is 
my number one priority within my program, so I have to make sure 
that the access violation cannot happen in the first place.
However it's a bit hard to track down access violations in big 
programs if you don't know when exactly it occured and where 
exactly it occured.


More information about the Digitalmars-d-learn mailing list