原来啥升级包也没用,
今天装了sp6,结果出问题了,
DEBUG版报错,Debug Error! Program:E:\Program\MyApp.exe 
Module: 
File: i386\chkesp.c 
line:42 The value of ESP was not properly saved across a function call.This is usually a result 
of calling a function declared with one calling convention with a function pointer declared 
with a different calling convention. 搜到了这篇文章,
http://www.5iv.net/027/ask153604.htm
但是无从下手,
想单步执行,但是在
CUUYIApp theApp;//这个因该相当于main()吧
这句设置断点都是直接报错?
程序也不小了,实在想不起哪里的问题,急请教!
注意Release版正常。

解决方案 »

  1.   

    注意没升级sp6
    debug则正常,
    我程序里也没引用汇编之类的
      

  2.   

    这里也看到了一个
    http://www.unix123.com/oiuoiu/hwbomjkjfn/364585.htm
    但也没用函数指针?
      

  3.   

    比如__cdecl的,也就是默认的,参数由调用者入栈,结束后由调用者平栈,由于是调用者入栈的,呵当然知道出栈是几个参数
    而__stdcall参数是调用者入栈而程序结束后自己平栈,所以参数是固定的,不能改变,不过这钟一般是release出的问题
      

  4.   

    我的都是一些基本的代码,似乎没有特别的,
    就是有时要开一个载入数据的线程,
    我在家用也很正常,sp2+vc6原始版,
    单位是没有补丁的xp
      

  5.   

    看看传给线程的lParam和wParam的值是不是有问题?