|
Boost Users : |
From: Aubrey, Jason (jason.aubrey_at_[hidden])
Date: 2006-11-01 12:18:55
Thanks David. I'll probably be tied up on other issues for 1-3 days but
I will give this a try when I can.
Regards,
Jason
-----Original Message-----
From: boost-users-bounces_at_[hidden]
[mailto:boost-users-bounces_at_[hidden]] On Behalf Of David Walthall
Sent: Wednesday, November 01, 2006 11:03 AM
To: boost-users_at_[hidden]
Subject: Re: [Boost-users] boost filesystem
Aubrey, Jason wrote:
> Hi,
>
> When I run the following program it runs successfully but throws an
> exception during shutdown. I don't know why, but it seems that the
> call to boost::filesystem::file_size() is corrupting memory somehow.
> This example only shows the call to file_size() but I think I've seen
> similar trouble with other calls within boost::filesystem.
>
> Am I doing something wrong here or is this a bug?
>
> Regards,
> Jason Aubrey
Jason,
When something like this happens, I have a function that checks all of
the heap for corruption errors. If you place enough calls to this
function, you can use it to find where the corruption happens.
David
#include <malloc.h>
#include <stdlib.h>
// HeapCheckWin32()
// ----------------
// Sends an output to the TRACE() function with the // status of the
heap. (Actually, it seems to hit // an assert inside of _heapwalk when
there is an error.) // Returns 0 for ok, non-zero for error.
int HeapCheckWin32()
{
_HEAPINFO hinfo;
int heapstatus;
int retStatus = 1; // start with error status
hinfo._pentry = NULL;
do
{
heapstatus = _heapwalk(&hinfo);
} while(heapstatus == _HEAPOK);
switch(heapstatus)
{
case _HEAPEMPTY:
TRACE("OK - empty heap\n");
retStatus = 0;
break;
case _HEAPEND:
TRACE("OK - end of heap\n");
retStatus = 0;
break;
case _HEAPBADPTR:
TRACE("ERROR - bad pointer to heap\n");
retStatus = 1;
break;
case _HEAPBADBEGIN:
TRACE("ERROR - bad start of heap\n");
retStatus = 1;
break;
case _HEAPBADNODE:
TRACE("ERROR - bad node in heap\n");
retStatus = 1;
break;
default:
retStatus = 2;
break;
}
return retStatus;
}
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net