Q58647: How to Successfully Debug VioPopUp() Code with CodeView
Article: Q58647 Product(s): See article Version(s): 2.20 2.30 2.35 Operating System(s): OS/2 Keyword(s): ENDUSER | | mspl13_basic Last Modified: 27-FEB-1990 Debugging programs that take advantage of OS/2's VioPopUp() call can present a potentially dangerous situation. Due to the nature of the VioPopUp() call, any attempts to trace into the VioPopUp call will cause your machine to hang. The workaround for this difficulty is to set a breakpoint outside of the VioPopUp() call [after the VioEndPopUp()], and then press F5 to instruct CodeView to execute to the next breakpoint. The VioPopUp() call brings forward a temporary pop-up text screen group that can be used to display text information without altering the context of the foreground screen. When a VioPopUp() call is executed, the current foreground screen group loses the keyboard focus to the pop-up screen. Therefore, when you trace into a VioPopUp() call, the pop-up text comes forward and CodeView, running in the foreground, loses the keyboard focus and cannot execute a trace instruction. At this time, CTRL+ESC or ALT+ESC will not change the deadlock situation and the only alternative is to reboot. To work around this problem, it is essential that you do NOT step into a VioPopUp call. Instead, press F5 to execute to the next breakpoint. Setting the breakpoint AFTER the VioEndPopUp() call is critical.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.