运行时错误:Stack Overflow的解决办法

运行时错误:Stack Overflow的解决办法
运行时错误:Stack Overflow的解决办法

运行时错误:Stack Overflow的解决办法.txt这世界上除了我谁都没资格陪在你身边。听着,我允许你喜欢我。除了白头偕老,我们没别的路可选了什么时候想嫁人了就告诉我,我娶你。现象:

编译正常通过,但运行时出现——

forrtl: severe (170): Program Exception - stack overflow

Image PC Routine Line Source

2DWP.exe 00401A73 Unknown Unknown Unknown

2DWP.exe 004029B9 Unknown Unknown Unknown

2DWP.exe 00449929 Unknown Unknown Unknown

2DWP.exe 0042EDB9 Unknown Unknown Unknown

KERNEL32.dll 77E7CA90 Unknown Unknown Unknown

Incrementally linked image--PC correlation disabled.

Press any key to continue

解决方法:

在project->settings->link->Category=output->stack allocations

设一个足够大的值就行

参考:

https://www.360docs.net/doc/4e3660967.html,/fortran/visual/vfn10/page2.html#Doctor

Issue

2001

https://www.360docs.net/doc/4e3660967.html,/fortran

Doctor Fortran - Don't Blow Your Stack!

Steve Lionel

Visual Fortran Engineering

"Doctor, my stack is overflowing! What does it mean?! Is there a cure?!" The Doctor frequently sees questions like these, and he realizes it's time for a general article on the subject of stack allocation, as well as the other memory allocation types, static and dynamic.

Static allocation

"Everybody's got to be somewhere," the saying goes. And so it is with your program's data - it has to live somewhere in memory while it is being referenced (registers are a special kind of memory we won't get into here.) The compiler, linker and operating system work together to determine exactly where in memory a piece of data is to reside. The simplest method of

assigning locations is "static allocation", where the data is assigned a fixed (static) address by the compiler and linker in the executable image (EXE). For example, if variable X is statically allocated at address 4000, it is always at address 4000 when that EXE is run, no matter what else is going on in the system. (DLLs can also have static data - it is allocated at a fixed offset from the base address where the DLL gets loaded.)

Static allocation is simple from the compiler's perspective because all that is needed is to create a list of variables that need allocation, and lay them down in memory one after the other. A run-time advantage of static allocation is that it is usually easy and fast to access a fixed address and statically allocated data can be used from anywhere in the program. But static allocation has disadvantages too. First, if you have any reentrant or parallel code, the multiple codestreams are both trying to use the same data, which may not be wanted. Second, if you have many routines which need a lot of memory just while they're executing, the available address space can fill up quickly (for example, ten routines each of which declares a 1000x1000 REAL(8) array need a total of 80,000,000 bytes just for those arrays.) And perhaps most important, with static allocation you must know at compile-time how much memory you will want.

Up through Fortran 77, the Fortran standard was carefully written in a way so that static allocation was the only method needed. Even today, static allocation is the most widely used method - in Visual Fortran, COMMON blocks and most variables with the SAVE attribute are allocated statically. (Note that Visual Fortran, by default, implies SAVE for local routine variables unless it can see that the variable is always written before it is read.)

Dynamic allocation

Dynamic allocation is the complete opposite of static allocation. With dynamic allocation, the running application must call a system routine to request a particular amount of memory (for example, 1000 bytes). The system routine looks to see if that request size is available in the collection ("heap") of memory segments it has available. If the request can be satisfied, a range of memory addresses is marked as used and the starting address is returned to the program. If the heap is empty, the operating system expands the virtual address space of the process to replenish the heap, stopping only if there is no more virtual memory available. The program stores the base address in a pointer variable and then can access the memory. When the program no longer needs the memory, another system routine is called to "free" it - return it to the heap so that it can be used again by a future allocate call. You can think of this as similar to borrowing money from a bank, and then later paying it back (except that there's no interest!)

The big advantage of dynamic allocation is that the program can decide at run-time how much memory to get, making it possible to create programs that can accommodate problems of any size. You are limited only by the total amount of virtual memory available to your process (a little less than 2GB in 32-bit Windows) and, as long as you keep your pointers separate, your allocation is separate from others in the application. However, if your program "forgets" to free the allocated memory, and no longer has the pointer through which it is referenced, the allocated memory becomes unusable until the program exits - a "memory leak". Also, the allocate/free process can be slow, and accessing data through pointers can itself reduce run-time performance somewhat.

In Fortran, the ALLOCATE statement performs dynamic allocation, with DEALLOCATE being the "free" operation. In Visual Fortran, one can use dynamic allocation in other ways, such as the C-style malloc/free routines, or by calling Win32 API routines to allocate memory.

Stack Allocation

Stack allocation appears to be the least understood of the three models. The "stack" is a contiguous section of memory assigned by the linker. The "stack pointer" is a register (ESP in the X86 architecture) which holds the current position in the stack. When a program starts executing, the stack pointer points to the top of the stack (just above the highest-addressed location in the stack. As routines are called, the stack pointer is decremented (subtracted from) to point to a section of the stack that the routine can use for temporary storage. (The previous value of the stack pointer is saved.) The routine can call other routines, which in turn create stack space for themselves by decrementing the stack pointer. When a routine returns to its caller, it cleans up by simply restoring the saved stack pointer value.

The stack is an extremely efficient way of creating "scratch space" for a routine, and the stack plays a prominent role in the mechanism of calling and passing arguments to routines. Visual Fortran uses the stack to create space for automatic arrays (local arrays whose size is based on a routine argument) and for temporary copies of arrays used in array expressions or when a contiguous copy of an array section must be passed to another routine. The problem is, however, that the total amount of stack space is fixed by the linker, and if a routine tries to allocate more space than the stack can hold, the dreaded "stack overflow" error occurs.

On some other operating systems, OpenVMS for example, the OS can extend the stack as needed, limited only by the total amount of virtual address space

available. On Windows, however, the stack allocation is determined by the linker and defaults to a paltry 1MB in the Microsoft linker. You can change the allocation - for details, see the on-disk documentation topic "Stack, linker option setting size of" - but this works only for executable images (EXEs.) If you are building a DLL, it doesn't matter what you set the stack size to - it is the size specified by the EXE that calls your DLL, (for example, VB.EXE), which is used.

So, what can you do if changing the stack size is not an option? Reduce your code's use of the stack. Replace automatic arrays with allocatable arrays and ALLOCATE them to the desired size at the start of the routine (they will be automatically deallocated on routine exit unless marked SAVE.) If passing a noncontiguous array section to another routine, have the called routine accept it as a deferred-shape array (an explicit interface is required) - see Chris Bord's article in Newsletter I. Future versions of Visual Fortran may allocate large temporary values dynamically rather than using the stack, but for now, being aware of the limits of stack allocation is important.

/STACK 这是CVF 自带的帮助文件上的

Syntax:

/STACK:reserve[,commit]

Sets the size of the stack in bytes.

The reserve argument specifies the total stack allocation in virtual memory. The default stack size is 1MB. The linker rounds up the specified value to the nearest 4 bytes.

The optional commit argument is subject to interpretation by the operating system. In Windows NT 4 and Windows 2000, it specifies the amount of physical memory to allocate at a time. Committed virtual memory causes space to be reserved in the paging file. A higher commit value saves time when the application needs more stack space but increases the memory requirements and possibly startup time.

Specify the reserve and commit values in decimal or C-language notation. (Use the digits 1-9 for decimal values, precede octal values with zero (0), and precede hexadecimal values with zero and x (0x or 0X).

An alternate way to set the stack is with the STACKSIZE statement in a .DEF file. STACKSIZE overrides Stack Allocations (/STACK) if you specify both. You can change the stack after the executable file is built by using the

EDITBIN.EXE tool. For more information, see Editing Files with EDITBIN.

To set these options in the visual development environment, type values in the Reserve and Commit boxes in the Output category of the Link tab in the Project Settings dialog box.

打开QQ游戏提示脚本错误怎么解决

打开QQ游戏提示脚本错误怎么解决 篇一:关于脚本错误解决方案 当前页的脚本发生错误缺少对象 解决方案如下: 1.启动 Internet Explorer。 在“工具”菜单上,单击“Internet 选项”。 在“Internet 选项”对话框中,单击“安全”。 单击“默认级别”。 单击“确定”。 2.删除所有临时的 Internet 相 1. 启动 Internet Explorer。 2. 在“工具”菜单上,单击“Internet 选项”。 3. 单击“常规”选项卡。 4. 单击“删除文件”。 5. 单击“确定”。 6. 单击“删除 Cookies”。 7. 单击“确定”。 8. 在“历史记录”下,单击“清除历史记录”,然后单击“是”。 9. 单击“确定”。 3.禁用错误报告 双击控制面板中的“系统”,切换到“高级”选项卡,单击“错

误报告”按钮,选中“禁用错误报告”选项,并选中“但在发生严重错误时通知我”,最后单击“确定”按钮。 4.再用360安全卫士修复下IE 如果以上都不能彻底结诀问题,那就要查一下你电脑里是否安装了其他软件,目前最明显的就是迅雷5最新版的bug的干扰。不过也不用着急--无需删除任何软件也可解决问题: 1. 启动 Internet Explorer。, 2. 在“工具”菜单上,单击“Internet 选项”, 3. 单击“常规”选项卡, 4. 单击“程序”, 5. 单击“管理加载项”。 6. 加载项有两个选项:“已使用、当前使用”,将这两个选项里的有关迅雷的加载项全禁用,其他你认为不是windows自带的也可禁用, 7. 单击“确定”, 8. 再单击“确定”。 试试吧,问题解决么?关文件 这是困扰俺数个月的问题。今天终于解决啦,赶紧写出来供大伙分享啊!(如有新发现,及时补充) 参考资料:?si=5 第二类: 解决方法:

语法分析程序实验报告及代码

LL(1)语法分析实验报告 一、实验题目 LL(1)语法分析 二、实验目的 通过设计、编制、调试一个典型的语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析,检查语法错误,进一步掌握常用的语法分析方法。 三、实验内容 构造LL(1)语法分析程序,任意输入一个文法符号串,并判断它是否为文法的一个句子。程序要求为该文法构造预测分析表,并按照预测分析算法对输入串进行语法分析,判别程序是否符合已知的语法规则,如果不符合则输出错误信息。 消除递归前的文法消除递归和提取公因子后的等价文法 S →S ∨ a T | a T | ∨ a T S→aTS’ |vaTS’ T →∧ a T | ∧a S’→vaTS’ |ε T→∧ a T’ T’→∧ aT’ |ε 根据已建立的分析表,对下列输入串:a∧ a∧ a进行语法分析,判断其是否符合文法。 四、实验要求 1.根据已由的文法规则建立LL(1)分析表; 2.输出分析过程。 请输入待分析的字符串: a∧ a∧ a 符号栈输入串所用产生式

#S a∧ a∧ a# #S’Ta a∧ a∧ a# S→aTS’ #S’T ∧ a∧ a# # S’T’a∧∧ a∧ a# T→∧ a T’ # S’T’a a∧ a# # S’T’∧ a# # S’T’a∧∧ a# T’→∧ aT’ # S’ T’a a# # S’ T’# # S’ # T’→ε # # S’→ε 五、程序思路 模块结构: 1、定义部分:定义常量、变量、数据结构。 2、初始化:设立LL(1)分析表、初始化变量空间(包括堆栈、结构体等); 3、运行程序:让程序分析一个text文件,判断输入的字符串是否符合文法定义的规则; 4、利用LL(1)分析算法进行表达式处理:根据LL(1)分析表对表达式符号串进行堆栈(或其他)操作,输出分析结果,如果遇到错误则显示简单的错误提示。 六、程序源代码 /* 程序名称: LL(1)文法分析程序 */ /* S->S>aT|aT|>aT */ /* T->

黑莓手机错误代码详解 blackberry系统错误提示

黑莓手机错误代码详解 blackberry系统错误提示 希望国内的黑莓用户对黑莓手机出错提示有个很好的认识,从而来解决问题。 101 Previous startup failed 当jvm启动过程中,前一个启动的项目失败了,设备已经被重置。这个错误表明jvm 在启动时找到“启动进行中”这个标志位已经设置了,当前屏幕信息为:有意停止“系统继续重置”这个死循环,来纠正系统当前不正确的启动操作 102 Invalid code in filesystem 在文件系统中发现无效的代码。手持设备的系统检查.cod文件的变动时,在一些.cod 文件中检测到这个问题。他肯可能是表明生成过程中发生了错误,即在cod文件中存在一个有问题的签名。如果一些用户操作设备导致这个问题的发生,文件系统的代码被破坏,复位的周期将是连续循环的。唯一的恢复方法是擦去设备并且恢复一个新的系统。 103 Cannot find starting address 找不到启动的地址,用于启动系统的引导cod文件找不到。这个错误表明一个用于引导系统的cod文件没有安装到设备上,或者格式不正确。 104 Uncaught: 非预期:《java模块名》jvm诊断出一个非预期的java代码异常错误抛出,程序可以继续执行,或者手持设备可以用桌面管理器连是USB线安装一个程序调试器来查看这些错误信息。事件日志里应该包含了异常错误的信息 105 Example, DbRecSize( %d ) -> %d 举例,DbRecSize( %d ) -> %d文件系统API已经为一种特定的操作返回一种错误状态码,他可能表明在jvm上存在一个无效的或者错误的文件系统 106 Graphics system error 图形系统错误,在设备的图形系统里一个错误发生并被检测到 107 operator new() called 在jvm里,操作new()回调一个c++类,该函数代码没有被正确的从VMRamObject对象来继承,新操作符需要被正确的继承。提取当前的(-后复位)的BUGDISP 108 operator delete() called 在jvm里,操作delete

如何调试脚本,解决脚本回放成功但失败的情况

1 背景 1.1 讲一个故事 以前我们公司招了一个自称非常熟练loadrunner的员工,有一次分配给他测试sso 单点登录系统的性能测试。登录一个网站A,需要输入用户名密码,然后在访问另一个网站B,因为在网站A已经登录过,所以B应该不需要再登录,直接就可以访问B页面。让该员工测试下可以支持多少用户,及稳定性。 该员工使用loadrunner测试了2天,然后给我们报告说支持320左右个用户并发。 然后,我们跟他一起验证下,确实在320并发时就出现用户失败。但检查系统A与B,发现A确实登陆了,但B没有数据,后面他定位了半天也没解决问题,最后我帮他定位下,结果发现是发给B系统请求B页面的HTTP的会话信息里没有包括用户已经登陆的信息,会话在Cookie与URL的参数都存在。 还有另外一个问题,当时由于没研究loadrunner是如何模拟用户的,后来参与开发了kylinPET性能测试工具,才对性能工具的原理有深入的了解。其实之前loadrunner工具测试的并发用户数最大支持320,是错误的,大家可以看我写的“如何测试服务器的最大并发数”,网址:https://www.360docs.net/doc/4e3660967.html,/dow_6_1.html 1.2 该故事说明了什么 该故事说明了,一个熟练loadrunner的人进行系统性能测试,还是出现花费了2天多的时间是白费的,因为实际B系统还需要登录,因此无法访问B 页面。 为什么呢,因为他对业务了解不透,还有认为loadrunner回放通过就表示脚本没问题,虽然他做了一些关联参数,但脚本其实还是错误的。因此,会

使用性能测试工具只是一项技能,真正掌握性能测试,还需要结合业务与协议、网络知识,另外还需要掌握测试工具调试脚本方法。 1.3 在网络上经常出现求助帖:测试工具脚本回放成功,但实际是失败 在网络论坛上经常出现求助帖:测试工具loadrunner或jmeter的脚本回放成功,但检查后台,数据不存在或用户其实没登陆。 很多测试人员对系统不了解,有不懂HTTP协议,也不了解网页怎么产生的,然后就使用测试工具进行测试;有些人员会检查后台发现脚本有问题,但不会定位;有些经验丰富的人,知道怎么调试脚本,验证脚本,并定位问题修改;然而,有些新手或经验不足的测试人员会出现做无用功,而且还不知道自己做了无效的性能测试,因为他认为测试工具回放成功就表示OK。 其实,很多开发人员或设计人员也不能完全了解被测系统,另外也不了解HTTP协议,因为HTTP是底层的,都被封装了,如spring开发基本就不需要了解HTTP。所以,测试人员要掌握一些基本知识,如HTTP协议、基本的网络知识,还有掌握系统架构、场景、还有业务流程,也是很有技术含量的。 对于W EB学会使用浏览器调试功能或httpwatch了解系统业务交互流程,学习HTTP。如果有这样的基础,使用性能测试工具调试脚本就事半功倍啦。2 介绍怎么调试脚本(这里只介绍WEB) 很多测试人员或开发人员对HTTP或HTML不熟悉,很大可能还不了解业务细节,所以自己修改脚本有一定的难度,需要借助工具提供的调试功能来调试脚本。主要解决业务动态的地方:参数化、关联参数、Cookie。

Windows常见错误代码解析

Windows常见错误代码解析 Windows常见非法操作详解 ■.停止错误编号:0x0000000A 说明文字RQL-NOT-LESS-OR-EQUAL 通常的原因:驱动程序使用了不正确的内存地址. 解决方法:如果无法登陆,则重新启动计算机.当出现可用的作系统列表时,按F8键.在Windows高级选项菜单屏幕上,选择"最后一次正确的配置",然后按回车键. 检查是否正确安装了所有的新硬件或软件.如果这是一次全新安装,请与硬件或软件的制造商联系,获得可能需要的任何Windows更新或驱动程序. 运行由计算机制造商提供的所有的系统诊断软件,尤其是内存检查. 禁用或卸掉新近安装的硬件(RAM,适配器,硬盘,调制解调器等等),驱动程序或软件. 确保硬件设备驱动程序和系统BIOS都是最新的版本. 确保制造商可帮助你是否具有最新版本,也可帮助你获得这些硬件. 禁用 BIOS内存选项,例如cache或shadow. ■.停止错误编号:0x0000001E 说明文字:KMODE-EXPTION-NOT-HANDLED 通常的原因:内核模式进程试图执行一个非法或未知的处理器指令. 解决方法:确保有足够的空间,尤其是在执行一次新安装的时候. 如果停止错误消息指出了某个特定的驱动程序,那么禁用他.如果无法启动计算机.应试着用安全模式启动,以便删除或禁用该驱动程序. 如果有非 Microsoft支持的视频驱动程序,尽量切换到标准的VGA驱动程序或Windows提

供的适当驱动程序. 禁用所有新近安装的驱动程序. 确保有最新版本的系统BIOS.硬件制造商可帮助确定你是否具有最新版本,也可 以帮助你获得他. BIOS内存选项,例如cache,shadow. ■.停止错误编号:0x00000023或0x00000024 说明文字:FAT-FILE-SYSTEM或MTFS-FILE-SYSTEM 通常原因:问题出现在Ntfs.sys(允许系统读写NTFS驱动器的驱动程序文件)内. 解决方法:运行由计算机制造商提供的系统诊断软件,尤其是硬件诊断软件. 禁用或卸载所有的反病毒软件,磁盘碎片整理程序或备份程序. 通过在命令提示符下运行Chkdsk /f命令检查硬盘驱动器是否损坏,然后重新启动计算机. ■.停止编号:0x0000002E 说明文字ATA-BUS-ERROR 通常的原因:系统内存奇偶校验出错,通常由硬件问题导致. 解决方法:卸掉所有新近安装的硬件(RAM.适配器.硬盘.调制解调器等等). 运行由计算机制造商提供的系统诊断软件,尤其是硬件诊断软件. 确保硬件设备驱动程序和系统BIOS都是最新版本. 使用硬件供应商提供的系统诊断,运行内存检查来查找故障或不匹配的内存. 禁用BIOS内存选项,例如cache或shadow. 在启动后出现可用作系统列表时,按F8.在Windows高级选项菜单屏幕上,选择" 启动VGA模式:.然后按回车键.如果这样做还不能解决问题,可能需要更换不同 的视频适配器列表,有关支持的视频适配器列表,请参阅硬件兼容性列表. ■.停止编号:0x0000003F

word老是发送错误报告 全面解决

word老是发送错误报告怎么办?microsoft Office Word2003发送错误报告的解决办法(2009-08-03 21:52:44) 转载 microsoft Office Word 遇到问题需要关闭。我们对此引起的不便表示抱歉。 你正在处理的信息有可能丢失。Microsoft Office Word 可以尝试为你回复。 恢复我的工作并重启Microsoft Office Word(R) 请将此问题报告给microsoft 我们已创建了一个错误报告,您可以将其发送给我们以帮助我们改善microsoft Office Word 的质量。这个报告会被认为是机密的,匿名的。 此错误报告包含什么数据? 为何要报告给Microsoft? 发送错误报告不发送 一种非常实用,一用就行,处理起来像小儿科。具体方法如下: regsvr32 /u PINTLGNT.IME 在开始-运行里输入regsvr32 /u PINTLGNT.IME这个命令以后,提示成功.重新打开word 问题应该会排除. 原因:PINTLGNT.IME文件是微软拼音输入法3.0的文件,可能已损坏。 当然这个不行的话,还可以按以下各个方法试试: 一、可能是normal.dot模板损坏了。(大部分是这个原因-首选解决) normal.dot是一个自动保存模板,解决办法: 1、删除Normat.dot模板文件。即删除(直接复制下面的指令到…我的电脑?的地址栏按回车即可) C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates (文件里面的Normal.dot文件删掉后便可打开word)如图:

龙渲3DMax 2014安装VR2.4出现加载脚本错误的解决方法

龙渲3DMax 2014安装VR2.4出现加载脚本错误的解决方法 3Ds Max软件应用广泛,诸如动画制作、建模使用,是龙渲等渲染农场应用支持的主流软件之一。而在3Ds Max 2014安装VR2.4时,常常出现加载脚本错误问题。就此,龙渲提出的解决方法有二,第一个就是直接找到以下地址N:\ progfiles/autodesk/3ds Max2014/scripts/startup 中的这个文件名为vraylightlister.ms的文件,直接用记事本的方式打开,并找到113行中的“LightInspectorListRollout, ”这段代码,然后删除,再保存关闭即可。不过这种方法要找到113行并不容易,所以龙渲并不推荐,相对更推荐的是第二个方法。步骤如下: 1.打开Max,并点击MAXScript(X),选打开脚本 2.找到你的Max所在安装位置的根文件。 其实找文件的方式和第一个方法是一样的,都是找到N:\ progfiles/autodesk/3ds Max2014/scripts/startup 中的这个文件名为vraylightlister.ms。以下步骤所示的文件地址位置,都是以默认的安装地址为基准的,如果你已经更改了你的Max的安装地址,请以你具体的安装地址为准。不管你把地址改到哪了,都要从安装的根目录里面去找。也就是在3ds Max2014这个文件夹下的 scripts/startup

3、找到3ds Max2014这个文件夹 4、找到scripts这个文件夹

5、找到startup这个文件夹 6、找到vraylightlister.ms这个文件并打开

办公软件提示发送错误报告的处理办法

这很简单的啊!给你个地址在菜单运行里面复制进去! C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates!这里面进去会有一个模块!把它删了!在这之前要先把word运行程序关掉!嘿嘿!资料还在没事! 出错原因:模板文件Normal.dot出错。关闭word时,在word中的插件、acrobat7等在word中的插件都要往Normal.dot中写东西,如果产生冲突,Normal.dot就会出错,导致下一次启动word时,只能以安全模式启动 : word2003在一段时间内不能正常工作,打开时提示.程序错误,word可以帮助你尝试修复错误.并提示发送错误,提示的标题是签名错误,PINTLGNT.IME出现错误,但是其他的office程序工作正常,经过反复的重装和修复以后,故障依然不能排除,查找发现PINTLGNT.IME文件是微软拼音输入法3.0的文件,在此之前我记得我曾经卸载过这个输入法.对于这个错误简直有点摸不着头脑.搜索了整个磁盘也没找个这个文件的踪影,搞得更是一头雾水.通过再次分 析发现要想去掉这个注册可以运行regsvr32 /u PINTLGNT.IME.在运行里输入这个命令以后,提示成功.重新打开word问题已经排除. !楼主对的话!给我分把!呵呵!多给一点把!呵呵!图片就这个是吧 提问者评价 需要 评论(108)|993 按默认排序|按时间排序 其他4条回答 2012-03-04 16:03鲁琴的wendang|四级

解决方法一:首先找到下面这个文件夹: C:\documents and Settings\Administrator\Application Data\Microsoft\Templates会看到“Normal.dot” 这个文件,这是公用模板文件,应该是损坏了,直接将其删除,故障就排除了。如果找不到这个文件夹: 可将C:\documents andSettings\Administrator\Application Data\Microsoft\Templates复制粘贴到地址栏即可找到normal.dot 这个文件,直接将其删除,关闭WORD文档,重新打开,故障排除. 解决方法二: 1.进入C:\documents and Settings\User\Application Data\Microsoft\Templates。其中“User”是当前windows登录的用户名。注意这需要从Explorer(即“我的电脑”或“资源管理器”)的菜单栏中找工具→文件夹选项→查看,选中“显示所有文件和文件夹”以查看隐藏文件和隐藏文件夹(Application Data是隐藏文件夹)。 2.找到Normal.dot,将其使用Shift+Delete进行彻底删除。 3.启动word,一切恢复正常。 说明:Normal.dot是word的模板文件,word在启动过程中会检查这个文件的状态是否正常,如果不正常,启动会失败。如果其他文件正常,这个文件被删除,word会自动重新建立这个文件,恢复到初始安装状态,所以可以放心删除。 追问 找不到 回答 首先找到下面这个文件夹: C:\documents and Settings\Administrator\Application Data\Microsoft\Templates会看到“Normal.dot” 这个文件,这是公用模板文件,应该是损坏了,直接将其删除,故障就排除了。如果找不到这个文件夹: 追问 C:\documents and Settings\Administrator\Application Data\Microsoft\Templates找不着 回答 需要我直接帮你吗?

LoadRunner常见问题分析及解决办法

LoadRunner常见问题分析及解决办法 2010-09-23 08:02 在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。 需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。 1.LoadRunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner 中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。 解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。 错误现象 2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do 错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。 如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。 解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。 如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。 最后,增加一下运行时的超时设置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect

Socket编程协议错误代码解析

10004—WSAEINTR 函数调用中断。该错误表明由于对WSACancelBlockingCall的调用,造成了一次调用被强行中断。 10009—WSAEBADF 文件句柄错误。该错误表明提供的文件句柄无效。在MicrosoftWindowsCE下,socket函数可能返回这个错误,表明共享串口处于“忙”状态。 10013—WSAEACCES 权限被拒。尝试对套接字进行操作,但被禁止。若试图在sendto或WSASendTo中使用一个广播地址,但是尚未用setsockopt和SO_BROADCAST这两个选项设置广播权限,便会产生这类错误。 10014—WSAEFAULT 地址无效。传给Winsock函数的指针地址无效。若指定的缓冲区太小,也会产生这个错误。10022—WSAEINV AL 参数无效。指定了一个无效参数。例如,假如为WSAIoctl调用指定了一个无效控制代码,便会产生这个错误。另外,它也可能表明套接字当前的状态有错,例如在一个目前没有监听的套接字上调用accept或WSAAccept。 10024—WSAEMFILE 打开文件过多。提示打开的套接字太多了。通常,Microsoft提供者只受到系统内可用资源数量的限制。 10035—WSAEWOULDBLOCK 资源暂时不可用。对非锁定套接字来说,如果请求操作不能立即执行的话,通常会返回这个错误。比如说,在一个非暂停套接字上调用connect,就会返回这个错误。因为连接请求不能立即执行。 10036—WSAEINPROGRESS 操作正在进行中。当前正在执行非锁定操作。一般来说不会出现这个错误,除非正在开发16位Winsock应用程序。 10037—WSAEALREADY 操作已完成。一般来说,在非锁定套接字上尝试已处于进程中的操作时,会产生这个错误。比如,在一个已处于连接进程的非锁定套接字上,再一次调用connect或WSAConnect。另外,服务提供者处于执行回调函数(针对支持回调例程的Winsock函数)的进程中时,也会出现这个错误。 10038—WSAENOTSOCK 无效套接字上的套接字操作。任何一个把SOCKET句柄当作参数的Winsock函数都会返回这个错误。它表明提供的套接字句柄无效。 10039—WSAEDESTADDRREQ 需要目标地址。这个错误表明没有提供具体地址。比方说,假如在调用sendto时,将目标地址设为INADDR_ANY(任意地址),便会返回这个错误。 10040—WSAEMSGSIZE 消息过长。这个错误的含义很多。如果在一个数据报套接字上发送一条消息,这条消息对内部缓冲区而言太大的话,就会产生这个错误。再比如,由于网络本身的限制,使一条消息过长,也会产生这个错误。最后,如果收到数据报之后,缓冲区太小,不能接收消息时,也会产生这个错误。 10041—WSAEPROTOTYPE 套接字协议类型有误。在socket或WSASocket调用中指定的协议不支持指定的套接字类型。

word打不开 发送错误报告解决办法.

word打不开发送错误报告解决办法 2015-03-09 word打不开发送错误报告解决办法 方法一: 这是由于模板出现问题引起的,恢复Normal模板就可以了:1、关闭所有打开的Word文档;2、复制这条命令:%appdata%\microsoft\templates3、开始→运行→粘贴上面复制的命令→确定4、在打开的目录下,找到并删除 Normal.dot,然后重新运行Word即可。 方法二: word打不开,显示发送错误报告对话框,在点击了“不发送”按钮后将关闭。再次运行Word,将询问是否以安全模式启动Word。在此如果选择“是”,Word 将进入“安全模式”。在这种模式下,Word将仅显示空白窗口,需要再手动打开文档方可显示。如果选择“否”,则Word又将弹出错对话框,陷入死循环。 症状: 1.word强行关闭,提示发送错误报告,然后要求重启word。 2.重启word后说遇到严重错误,需要进入安全模式。选“否”后又重新会回到这个状态,所以只有选“是”这一个选择。 3.进入word的`安全模式,提示说有功能被禁用。 4.无论重启多少次,无法正常启动,只能进入安全模式。 5.重装、修复office2003都无济于事,除非重装系统。卸载office2003后再装office2000、officeXP(office2002),提示有严重错误,word无法启动。 原因: Normal.dot这个模板文件被损坏。可能原因有:非正常结束word程序,其时有文档正在编辑或打开;编写了宏并保存到Normal.dot中;其他未知原因。 解决方法一: 1.进入 C:\documentsandSettings\User\ApplicationData\Microsoft\Templates。其中“User”是当前windows登录的用户名。注意这需要从Explorer(即“我的电脑”或“资源管理器”)的菜单栏中找工具→文件夹选项→查看,选中“显

matlab常见错误及处理办法

1.Subscript indices must either be real positive integers or logicals 中文解释:下标索引必须是正整数类型或者逻辑类型 出错原因:在访问矩阵(包括向量、二维矩阵、多维数组,下同)的过程中,下标索引要么从 0 开始,要么出现了负数。注:matlab 的语法规定矩阵的索引从 1 开始,这与 C 等编程语言的习惯不一样。 解决办法:自己调试一下程序,把下标为 0 或者负数的地方修正。 2.Undefined function or variable "U" 中文解释:函数或变量 U 没有定义 .出错原因及解决办法:可能变量名输入错误,仔细检查 3.Matrix dimensions must agree 中文解释:矩阵的维数必须一致 出错原因:这是由于运算符(= + - / * 等)两边的运算对象维数不匹配造成的,典型的出错原因是错用了矩阵运算符。matlab 通过“.”来区分矩阵运算和元素运算。解决办法:自己调试一下程序,保证运算符两边的运算对象维数一致。 4.Function definitions are not permitted at the prompt or in scripts 中文解释:不能在命令窗口或者脚本文件中定义函数 出错原因:一旦在命令窗口写 function c = myPlus(a,b),此错误就会出现,因为函数只能定义在 m 文件中。关于脚本文件和 m 文件的区别请查阅 matlab 基础书。简言之: 1) 如果你写成 function 的形式,那么必须写在 m 文件中,且以function 开头(即 function 语句前不能包含其他语句,所有语句必须放在 function 中,当然,function 的定义可以有多个,各 function

2019年脚本错误指什么意思

2019年脚本错误指什么意思 篇一:解决报脚本错误方法 解决办法: 第一步:利用你原来的用户名和密码登录系统 第二步:进入系统后,在空白处右击鼠标,出现如下图所示 你选择第一项“SilverLight(S)”,点击后出现以下界面 选中最后一项“应用程序存储”,在此界面上点击“全部删除”,将本地Silverlight的缓存记录全部清除,然后关闭此界面 第三步:关闭居民健康系统,重新登录就ok 篇二:关于脚本错误解决方案 当前页的脚本发生错误缺少对象 解决方案如下:

1.启动InternetExplorer。 在“工具”菜单上,单击“Internet选项”。 在“Internet选项”对话框中,单击“安全”。 单击“默认级别”。 单击“确定”。 2.删除所有临时的Internet相 1.启动InternetExplorer。 2.在“工具”菜单上,单击“Internet选项”。 3.单击“常规”选项卡。 4.单击“删除文件”。 5.单击“确定”。

6.单击“删除Cookies”。 7.单击“确定”。 8.在“历史记录”下,单击“清除历史记录”,然后单击“是”。 9.单击“确定”。 3.禁用错误报告 双击控制面板中的“系统”,切换到“高级”选项卡,单击“错误报告”按钮,选中“禁用错误报告”选项,并选中“但在发生严重错误时通知我”,最后单击“确定”按钮。 4.再用360安全卫士修复下IE 如果以上都不能彻底结诀问题,那就要查一下你电脑里是否安装了其他软件,目前最明显的就是迅雷5最新版的bug的干扰。不过也不用着急--无需删除任何软件也可解决问题: 1.启动InternetExplorer。,

Runtime错误解释分析

Runtime错误解释分析 Runtime是运行时的意思,Runtime Error就是运行时错误,就是在运行期间出现的错误。 An error that occurs during the execution of a program. In contrast, compile-time errors occur while a program is being compiled. Runtime errors indicate bugs in the program or problems that the designers had anticipated but could do nothing about. For example, running out of memory will often cause a runtime error.(运行时错误是程序执行期间发生的错误,它不同于编译期间发生的错误.运行时错误可能是程序中的毛病引起的,也可能程序并无错误,例如机器存储器不够引起) Note that runtime errors differ from bombs or crashes in that you can often recover gracefully from a runtime error.(运行时错误不同于炸弹或系统垮掉,运行时错误一般不影响操作系统运行) 具体的运行错误,要参照错误信息,分析后,想办法解决. RUNTIME ERROR SSS AT III:MMM 其中,SSS是运行错误代码,III是错误发生的程序段,MMM是错误地址。 DOS 错误代码: 1 无效DoS功能号 2 文件末找到 3 路径未找到 4 打开文件过多 5 禁止文件存取 6 无效文件句柄 12 无效文件存取代码 15 无效驱动器号

系统错误提示代码解析

系统错误提示代码解析: 0 0x0000 操作成功完成。 1 0x0001 函数不正确。 2 0x0002 系统找不到指定的文件。 3 0x0003 系统找不到指定的路径。 4 0x0004 系统无法打开文件。 5 0x0005 拒绝访问。 6 0x0006 句柄无效。 7 0x0007 存储控制块被损坏。 8 0x0008 存储空间不足,无法处理此命令。 9 0x0009 存储控制块地址无效。 10 0x000A 环境不正确。 11 0x000B 试图加载格式不正确的程序。 12 0x000C 访问码无效。 13 0x000D 数据无效。 14 0x000E 存储空间不足,无法完成此操作。 15 0x000F 系统找不到指定的驱动器。 16 0x0010 无法删除目录。 17 0x0011 系统无法将文件移到不同的驱动器。 18 0x0012 没有更多文件。 19 0x0013 媒体受写入保护。 20 0x0014 系统找不到指定的设备。 21 0x0015 设备未就绪。 22 0x0016 设备不识别此命令。 23 0x0017 数据错误(循环冗余检查)。 24 0x0018 程序发出命令,但命令长度不正确。 25 0x0019 驱动器找不到磁盘上特定区域或磁道。 26 0x001A 无法访问指定的磁盘或软盘。 27 0x001B 驱动器找不到请求的扇区。 28 0x001C 打印机缺纸。 29 0x001D 系统无法写入指定的设备。 30 0x001E 系统无法从指定的设备上读取。 31 0x001F 连到系统上的设备没有发挥作用。 32 0x0020 另一个程序正在使用此文件,进程无法访问。 33 0x0021 另一个程序已锁定文件的一部分,进程无法访问。 34 0x0022 驱动器中的软盘不对。将%2 插入(卷序列号: %3)驱动器%1。 36 0x0024 用来共享的打开文件过多。 38 0x0026 已到文件结尾。 39 0x0027 磁盘已满。 50 0x0032 不支持请求。 51 0x0033 Windows 无法找到网络路径。请确认网络路径正确并且目标计算机不忙或已关闭。如果Windows 仍然无法找到网络路径,请与网络管理员联系。 52 0x0034 由于网络上有重名,没有连接。请到“控制面板”中的“系统”更改计算机名,

word打不开 发送错误报告怎么办 -电脑资料.

word打不开发送错误报告怎么办 -电脑资料 2019-01-01 方法一: 这是由于模板出现问题引起的,恢复Normal模板就可以了:1、关闭所有打开的Word文档;2、复制这条命令:%appdata%\microsoft\templates3、开始→运行→粘贴上面复制的命令→确定4、在打开的目录下,找到并删除Normal.dot,然后重新运行Word即可, 。 方法二: word打不开,显示发送错误对话框,在点击了“不发送”按钮后将关闭。再次运行Word,将询问是否以安全模式启动Word。在此如果选择“是”,Word 将进入“安全模式”。在这种模式下,Word将仅显示空白窗口,需要再手动打开文档方可显示。如果选择“否”,则Word又将弹出错对话框,陷入死循环。 症状: 1.word强行关闭,提示发送错误报告,然后要求重启word。 2.重启word后说遇到严重错误,需要进入安全模式。选“否”后又重新会回到这个状态,所以只有选“是”这一个选择。 3.进入word的安全模式,提示说有功能被禁用。 4.无论重启多少次,无法正常启动,只能进入安全模式。 5.重装、修复office2003都无济于事,除非重装系统。卸载office2003后再装office2000、officeXP(office2002),提示有严重错误,word无法启动。 原因: Normal.dot这个模板文件被损坏。可能原因有:非正常结束word程序,其时有文档正在编辑或打开;编写了宏并保存到Normal.dot中;其他未知原因。 解决方法一:

1.进入 C:\documentsandSettings\User\ApplicationData\Microsoft\Templates。其中“User”是当前windows登录的用户名, 《》()。注意这需要从Explorer(即“我的电脑”或“资源器”)的菜单栏中找工具→文件夹选项→查看,选中“显示所有文件和文件夹”以查看隐藏文件和隐藏文件夹。 2.找到Normal.dot,将其使用Shift+Delete进行彻底删除。 3.启动word,一切恢复正常。 说明:Normal.dot是word的模板文件,word在启动过程中会检查这个文件的状态是否正常,如果不正常,启动会失败。如果其他文件正常,这个文件被删除,word会自动重新建立这个文件,恢复到初始安装状态,所以可以放心删除。 快捷方法:复制%appdata%\microsoft\templates到“运行”里----回车----自动打开templates文件夹----再删除normal.dot就OK了 解决方法二:直接在电脑里查找“Templates"文件夹,找到后就进入这个文件夹,然后会出现几个名为“Normal”还有一个“~Normal”文件,删除其中的“Normal.dot”公用模板文件,再重新启动Word即可恢复正常。如果在C盘中找不到NORMAL,可以这样操作:进入WORD安全模式,打开任一WORD文档,选工具----模板和加载项,按“文档模板”后面的“选用”,把图框中的文件NORMAL用右键删除即可。 删除后如果重启word不行,重启电脑试试。 解决方法三:首先找到下面这个文件夹: C:\documentsandSettings\Administrator\ApplicationData\Microsoft\Templ ates会看到“Normal.dot”这个文件,这是公用模板文件,应该是损坏了,直接将其删除,故障就排除了。 如果找不到这个文件夹,可将 C:\documentsandSettings\Administrator\ApplicationData\Microsoft\Templ ates复制粘贴到地址栏即可找到normal.dot这个文件,直接将其删除,关闭WORD文档,重新打开,故障排除. 如果还是不行的话,把office的安装文件删干净,再重新装一次就可以了。

脚本错误是什么意思

脚本错误是什么意思 篇一:解决报脚本错误方法 解决办法: 第一步:利用你原来的用户名和密码登录系统 第二步:进入系统后,在空白处右击鼠标,出现如下图所示 你选择第一项“SilverLight(S)”,点击后出现以下界面 选中最后一项“应用程序存储”,在此界面上点击“全部删除”,将本地Silverlight的缓存记录全部清除,然后关闭此界面第三步:关闭居民健康系统,重新登录就ok 篇二:关于脚本错误解决方案 当前页的脚本发生错误缺少对象 解决方案如下: 1.启动 Internet Explorer。 在“工具”菜单上,单击“Internet 选项”。 在“Internet 选项”对话框中,单击“安全”。 单击“默认级别”。 单击“确定”。 2.删除所有临时的 Internet 相 1. 启动 Internet Explorer。 2. 在“工具”菜单上,单击“Internet 选项”。 3. 单击“常规”选项卡。

4. 单击“删除文件”。 5. 单击“确定”。 6. 单击“删除 Cookies”。 7. 单击“确定”。 8. 在“历史记录”下,单击“清除历史记录”,然后单击“是”。 9. 单击“确定”。 3.禁用错误报告 双击控制面板中的“系统”,切换到“高级”选项卡,单击“错误报告”按钮,选中“禁用错误报告”选项,并选中“但在发生严重错误时通知我”,最后单击“确定”按钮。 4.再用360安全卫士修复下IE 如果以上都不能彻底结诀问题,那就要查一下你电脑里是否安装了其他软件,目前最明显的就是迅雷5最新版的bug的干扰。不过也不用着急--无需删除任何软件也可解决问题: 1. 启动 Internet Explorer。, 2. 在“工具”菜单上,单击“Internet 选项”, 3. 单击“常规”选项卡, 4. 单击“程序”, 5. 单击“管理加载项”。 6. 加载项有两个选项:“已使用、当前使用”,将这两个选项里的有关迅雷的加载项全禁用,其他你认为不是windows自带的也可禁用,

java基础异常Exception代码讲解总结

Java中的Exception 1异常相关概述 1.1 什么是异常 ?异常就是Java程序在运行过程中出现的错误。 ?前面接触过的空指针,数组越界,类型转换错误异常等 1.2 Throwable ?Throwable 类是Java 语言中所有错误或异常的超类。 ?只有当对象是此类(或其子类之一)的实例时,才能通过JVM 或者throw 语句抛出。 1.3异常的继承体系 1.3 JVM默认是如何处理异常的? ?jvm有一个默认的异常处理机制,就将该异常的名称、异常的信息、异常出现的位置打印在了控制台上,同时程序停止运行。

1.4 Java处理异常的两种方式 ?Java虚拟机处理 ?自己处理 1.5 为什么会有异常 因为你不知道未来会怎么样,需要做个准备(写代码也是,你需要对一些未知的东西做下处理),比如你去旅游,不知道会下雨还是出大太阳,你需要准备雨伞和帽子.如果下雨,我有雨伞可用,如果出大太阳,可以用帽子,也有可能天气刚刚好,雨伞和帽子都用不着,这叫白带。 1.6 回顾几个常见异常 2 try-catch 自己处理异常的两种方试

?try…catch…finally ?throws 2.1 try-catch异常处理方式 2.2 try-catch-catch 多个catch处理方式

2.3 try-catch-catch 多个异常-另一种写法 2.4 多个异常处理的一个注意事项 ?catch中父类的Exception只能放在最后面 ?catch一个原则,先由子类处理异常,子类不能处理异常,再由父类处理try { //1.有可能出现数组越界异常 int[] arr = {1,2,3}; System.out.println(arr[1]); //2.算术异常 int a = 10 / 2; //3.空指针异常 int[] arr1 = null; //NullPointerException np; System.out.println(arr1[0]); }catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组越界异常"); } catch (ArithmeticException e) { System.out.println("算术异常"); } catch (Exception e) { System.out.println("其它异常"); }

相关文档
最新文档