none
locale::global异常~ RRS feed

  • 问题

  • 我在为了保证打开文件路径正常,使用了locale loc = locale::global(locale(""));和 locale::global(loc); 

     我在vc2005下调用后,程序偶尔会出错,通过调用堆栈发现时在 执行locale::global(loc); 调用时,内部出现的异常。 这种情况怎么怎么解决呢。

    2011年5月30日 3:24

全部回复

  • Hi icove,

    >>通过调用堆栈发现时在 执行locale::global(loc); 调用时,内部出现的异常

    请描述下出现了什么异常,把错误信息发出来。

     

    Lucy


    Lucy Liu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年5月31日 3:50
    版主
  • 把异常的位置贴出来?
    麻烦把正确答案设为解答。
    2011年5月31日 5:15
    版主
  • 不好意思~,出问题的时候,异常提示的窗体无法打开,然后异常位置没有保存下来
    从调用堆栈来看,大致是在locale::global(loc)里面进入临界区得位置~,
    • 已编辑 icove 2011年5月31日 9:43 补充
    2011年5月31日 9:41
  • Hi icove,

    没有更多的信息,我们无法很好的帮您分析问题。希望您能尽量提供我们需要的信息。

    谢谢您的理解!

     

    Lucy


    Lucy Liu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年6月1日 3:28
    版主
  • Unhandled exception at 0x104aef8c (msvcp90d.dll) in XXX.exe: 0xC0000005: Access violation reading location 0xfdfdfdfd.

    在执行 old_loc = locale::global(locale(""));时出现的异常。

    该异常定位到xlocnum中的第151行

    _Dp = _MAKLOCCHR(_Elem, _Ptr->decimal_point[0], _Lobj._Getcvt());

    其中依次堆栈为:

    xlocale文件中365行: _Locimp::_Makeloc(_Lobj, _Cat, _Ptr, 0);

    locale.cpp文件中95行: _Locimp::_Makewloc(lobj, cat, ptrimp, ptrloc);

    wlocale.cpp文件中48行: ADDFAC(_Tw4, cat, ptrimp, ptrloc);

    不知道提供的信息够不够全,请帮忙解决。

    2012年4月14日 2:47
  • 我的问题解决了,是由于本地化操作不能交叉使用,你可以查看一下你的代码中,是否有另外一个线程也在进行着本地化操作。
    2012年6月8日 2:13