C++
文章平均质量分 61
happylong123hehe
这个作者很懒,什么都没留下…
展开
-
关于 _resetstkoflw
当从 stack overflow exception(c00000fd) 恢复的时候需要调用 _resetstkoflw. 如果发生了 stack overflow (c00000fd) 异常, 而这个函数没有被调用, 那么就没有 guard page (PAGE_GUARD) 了; 下一次 stack overflow 时, 进程不会产生 stack overflow原创 2012-12-26 19:51:55 · 712 阅读 · 0 评论 -
空指针带来的AV异常.
故名思意, 如果一个指针是NULL, (NullPtr == NULL), 则 NullPtr->Method() 会产生异常. 但是根据被调用函数不同, 分为 NullPtr->Member_Method() 和 NullPtr->Virtual_Method() // // 例子 // class AA {原创 2012-12-26 19:56:49 · 1884 阅读 · 0 评论 -
Win8 UT 上的小变动
Win8 UT 的时候发现GetRuntimeMethod()无法访问一个class的private方法,只用通过IEnumerableclass CForTest{ private int Increase1(int i) { return ++i; } public int Increase2(int i) { return ++i; }}原创 2012-12-26 20:02:25 · 352 阅读 · 0 评论 -
stack 扩展机制
windows中,每个线程都关联一个stack,stack的默认大小是1M,用于存放临时变量,函数参数,返回地址等。但是当一个线程开始运行的时候不是其相关stack的内存就真正被提交,因为如果一个进程有10个线程,那么如果这10个线程的stack的内存都被提交,那么虚拟内存就占用了10M,就需要想对应的页表项等开销,而且这10M到底是否被真的使用还是个未知数,所以系统的策略是只提交几个页面,然原创 2012-12-26 19:43:10 · 368 阅读 · 0 评论 -
Stack overflow
Stack overflow - code c00000fd 当 stack 低地址溢出要注意 1) 通过捕获异常代码为 EXCEPTION_STACK_OVERFLOW 的异常. 2) 要明确这时候 stack 出了问题, 也就是说使用 stack 的任何操作都可能挂掉 比如 printf() 等 如果要输出相对可以接受的是使用 OutputDebugStri原创 2012-12-26 19:46:04 · 415 阅读 · 0 评论