Debugging Ported Code (246304)
The information in this article applies to:
- Interix 2.2.1
- Interix 2.2.2
- Interix 2.2.3
- Interix 2.2.4
This article was previously published under Q246304 SUMMARY
When debugging ported code, there are several behavioral differences between Interix and traditional systems like Solaris.
Some users porting code notice that their application memory faults more often than it did on the original platform. This is usually a result of defects in the code, and not in the Interix subsystem.
A common cause of this behavior is trying to dereference an uninitialized pointer. An uninitialized pointer contains some random bit pattern. An attempt to read or write to that location will succeed or fail depending on whether the user is permitted access to that address. If the attempt fails, it fails with a segment fault. If it succeeds, it may cause problems for other programs using that memory space.
In Microsoft Windows NT 4.0, most of the four-gigabyte address space is off limits to the user program. Any attempt to read or write to this space causes the segmentation violation.
Modification Type: | Major | Last Reviewed: | 10/3/2003 |
---|
Keywords: | kbenv kbinfo KB246304 |
---|
|