BUG: /ONERROR:NOEXE Not Passed Through to CVPACK

ID: Q116311

4.00 4.01 4.10 4.26 MS-DOS kbtool kbbuglist

The information in this article applies to:

SYMPTOMS

If an application built for debug mode is linked with the /ONERROR:NOEXE switch and CVPACK fails for some reason, an executable file is still generated. This can cause subsequent debugging sessions to fail because the debugging information is incorrect.

RESOLUTION

To work around the problem, do not use the executable file if there has been a CVPACK error. Instead, find and solve the problem that caused the CVPACK error to occur and relink the application.

One exception to this resolution is the case in which a CK4009 error is generated. In this situation, the packer has reached its limit for type information and simply truncates any new type information it subsequently encounters. The .EXE file still contains valid debugging information, and so it may be successfully debugged; however, you will not be able to view any symbols whose types were truncated.

STATUS

Microsoft has confirmed this to be a bug with the CVPACK utility for MS-DOS, versions 4.0, 4.01, 4.1, and 4.26. We are researching this problem and will post new information in the Microsoft Knowledge Base as soon as it becomes available.

MORE INFORMATION

The /ONERROR:NOEXE option was introduced to avoid the danger of system errors caused by users attempting to load an invalid executable file. However, in the case of an error occurring during packing, this danger does not exist because the .EXE file itself is still valid: The .EXE file that is created overwrites any existing one.

Additional reference words: 4.00 4.01 4.10 4.26 KBCategory: kbtool kbbuglist KBSubCategory: LinkIss Keywords : kb16bitonly

Last Reviewed: July 23, 1997