常见错误类型和程序调试29页PPT
- 格式:ppt
- 大小:3.23 MB
- 文档页数:29
•出现时,是因为Opencv不是本工程的软件,在用到时出现须知道它的保存途径。
需在“我的电脑”图标处右键属性----高级---单击环境变量----双击PATH行--- 输入需要的软件路径D:\opencv1.o\OpenCV\Bin。
•出现无法打开包括文件:“ *.h”: No such file or directory时,可能是以下原因:首先,我想我们要确定的是头文件名写错了没有?其次,如果是我们自己写的头文件,我们一定要写成 #include" *.h "这种形式.•出现找不到cvErode标识符时,说明是头文件没有定义。
可以把光标放在cvErode处,右键“转到定义”,查看它是在cv头文件中,然后在头文件处定义文件名#include"cv.h"即可。
•出现”无法解析的外部符号_cvReleaseImage”的错误时,说明是配置环境的文件不齐全。
在项目---cvision属性--配置属性--连接器--输入--附加依赖项--把库文件名cv.lib highgui .lib cxcore.lib cvcam.lib输入。
•出现无法打开文件“highgui.obj”,只要在项目---cvision属性--配置属性--连接器--输入--附加依赖项--把库文件名cv.lib highgui .lib cxcore.lib cvcam.lib输入就可以了。
•出现无法打开文件“strmbase.lib”时,查看电脑中有的是strmbasd.lib cv.lib highgui.lib而不是strmbase.lib cv.lib highgui.lib。
在配置环境中改过来就可以了•出现无法解析的外部符号_IID_IMediaEvent无法解析的外部符号_IID_IMediaControl、1>cvisionDlg.obj :error LNK2001:无法解析的外部符号_IID_IGraphBuilder无法解析的外部符号_CLSID_AVIDec无法解析的外部符号改_CLSID_AviSplitter无法解析的外部符号_IID_IBaseFilter”错误时,是缺少striimds库文件的缘故,通过“我的电脑”搜索得到striimds的存放途径为D:\DXSDK\Lib,在库文件中添加此路径,再在附加依赖项中写成cv.lib highgui.lib cxcore.lib cvcam.lib strmiids.lib,即可。
VBA的100个错误类型1 应用程序定义或对象定义错误2 应用程序定义或对象定义错误3 无GoSub 返回4 应用程序定义或对象定义错误5 无效的过程调用或参数6 溢出7 内存溢出8 应用程序定义或对象定义错误9 下标越界10 该数组被固定或暂时锁定11 除数为零12 应用程序定义或对象定义错误13 类型不匹配14 溢出串空间15 应用程序定义或对象定义错误16 表达式太复杂17 不能执行所需的操作18 出现用户中断19 应用程序定义或对象定义错误20 无错误恢复21 应用程序定义或对象定义错误22 应用程序定义或对象定义错误23 应用程序定义或对象定义错误24 应用程序定义或对象定义错误25 应用程序定义或对象定义错误26 应用程序定义或对象定义错误27 应用程序定义或对象定义错误28 溢出堆栈空间29 应用程序定义或对象定义错误30 应用程序定义或对象定义错误31 应用程序定义或对象定义错误32 应用程序定义或对象定义错误33 应用程序定义或对象定义错误34 应用程序定义或对象定义错误35 子过程或函数未定义36 应用程序定义或对象定义错误37 应用程序定义或对象定义错误38 应用程序定义或对象定义错误39 应用程序定义或对象定义错误40 应用程序定义或对象定义错误41 应用程序定义或对象定义错误42 应用程序定义或对象定义错误43 应用程序定义或对象定义错误44 应用程序定义或对象定义错误45 应用程序定义或对象定义错误46 应用程序定义或对象定义错误47 DLL 应用程序客户太多48 加载DLL 错误49 DLL 调用约定错误50 应用程序定义或对象定义错误51 内部错误52 文件名或文件号错误53 文件未找到54 文件模式错误55 文件已打开56 应用程序定义或对象定义错误57 设备I/O 错误58 文件已存在59 记录长度错误60 应用程序定义或对象定义错误61 磁盘已满62 输入超出文件尾63 记录号错误64 应用程序定义或对象定义错误65 应用程序定义或对象定义错误66 应用程序定义或对象定义错误67 文件太多68 设备不可用69 应用程序定义或对象定义错误70 拒绝的权限71 磁盘未准备好72 应用程序定义或对象定义错误73 应用程序定义或对象定义错误74 不能更名为不同的驱动器75 路径/文件访问错误76 路径未找到77 应用程序定义或对象定义错误78 应用程序定义或对象定义错误79 应用程序定义或对象定义错误80 应用程序定义或对象定义错误81 应用程序定义或对象定义错误82 应用程序定义或对象定义错误83 应用程序定义或对象定义错误84 应用程序定义或对象定义错误85 应用程序定义或对象定义错误86 应用程序定义或对象定义错误87 应用程序定义或对象定义错误88 应用程序定义或对象定义错误89 应用程序定义或对象定义错误90 应用程序定义或对象定义错误91 对象变量或 Wi t h 块变量未设置92 For 循环未初始化93 无效的模式串94 无效使用Null95 应用程序定义或对象定义错误96 由于对象已经激活了事件接受器支持的最大数目的事件,不能吸收对象的事件97 不能调用对象的友元函数,该对象不是所定义类的一个实例。
C语言常见错误分析和程序调试C语言是一种常见的编程语言,在使用的过程中,常常会出现一些错误。
本文将分析C语言常见的错误,以及如何进行程序调试。
1.语法错误:语法错误是最常见的错误类型之一、它通常是由于拼写错误、缺少分号或括号不匹配等简单的错误导致的。
解决方法是仔细检查代码,确保所有括号都是成对且正确使用,并及时修正拼写错误。
2.逻辑错误:逻辑错误是指程序的逻辑错误,即程序没有按照预期的方式执行。
这种错误很难被编译器检测到,需要程序员自己进行调试。
解决方法一是使用printf语句来输出变量的值,以观察程序的执行过程;二是使用调试工具,如GDB,来逐步执行程序并观察变量的值。
3.内存错误:内存错误是指在程序中使用了未分配或已释放的内存。
这种错误通常会导致程序崩溃或产生不可预测的结果。
解决方法是保证正确地使用内存函数,如malloc和free,并养成好的编程习惯,即分配内存时要确保及时释放。
4.数组越界:数组越界是指程序访问了数组范围之外的元素。
这种错误可能会导致程序崩溃或产生不可预测的结果。
解决方法是仔细检查数组的索引,并确保索引的值在合法范围内。
5.变量未初始化:未初始化的变量可能包含随机的垃圾值,从而导致程序的不稳定或不可预测的结果。
解决方法是在使用变量之前,先给变量赋初始值。
6.常量溢出:常量溢出是指常量值超过了其数据类型的范围。
解决方法是使用合适的数据类型,并确保常量值在其范围之内。
7.函数调用错误:函数调用错误可能是函数名拼写错误、函数参数类型不匹配或函数调用位置错误等。
解决方法是仔细检查函数名的拼写,确保函数参数与定义一致,并确保函数调用位置正确。
总之,在编写C语言程序时,应该注意避免语法错误,正确使用内存函数和数组索引,初始化变量,选择合适的数据类型,并仔细检查函数调用。
此外,对于逻辑错误,可以通过打印输出和调试工具来进行程序调试,帮助定位问题并解决错误。
提示ng.UnsupportedClassVersionError: Bad version numberin .class fileMyeclipse 使用的JDK和Tomcat使用的JDK版本不一致解决方法:把它们的JDK版本改成一致步骤如下:1.Window --> Preferences -->Java --> compiler中的compiler compliance level对应的下拉菜单中选择JDK版本.2.Window --> Preferences -->MyEclipse --> Servers -->Tomcat --> Tomcat n.x -->JDK中的Tomcat JDK name下的下拉菜单中选择自身电脑上安装的JDK 版本1 、缺少文件上传JAR包commons-io-1.3.1.jar commons-fileupload-1.2.jarUnable to load beanorg.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]这个问题是在使用Struts2想做一个上传文件的页面时候Tomcat报出来的错误,详细信息如下:2007-7-19 21:34:09 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet jsp threw exceptionng.RuntimeException: Unable to load beanorg.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]问题描述:使用Struts2.0.6+Sitemesh2.2.1+Freemark2.3.8的过程中,装饰Action请求的结果页面不会有问题,但是如果装饰直接访问的JSP页面会出现如下错误:java 代码1. javax.servlet.ServletException: Error applying decorator: null解决方案:经过调试发现是FreeMarkerPageFilter的getLocale方法没有对invocation添加非空判断造成的,错误代码如下:java 代码1. protected Locale getLocale(ActionInvocation invocation, Configurationconfiguration) {2. if (invocation.getAction() instanceof LocaleProvider) {3. return ((LocaleProvider) invocation.getAction()).getLocale();4. } else {5. return configuration.getLocale();6. }7. }改正后的代码如下:java 代码1. protected Locale getLocale(ActionInvocation invocation, Configurationconfiguration) {2. if (invocation != null && invocation.getAction() instanceof LocaleProvider) {3. return ((LocaleProvider) invocation.getAction()).getLocale();4. } else {5. return configuration.getLocale();6. }7. }问题描述:使用Struts2.0.6+Sitemesh2.2.3,我有一个请求/customer/page.action,其结果页面为WEB-INF/jsp/customer/list.jsp,我希望使用main装饰器对返回结果进行装饰,如果配置如下:xml 代码1. <decorator name="main" page="main.ftl">2. <pattern>/WEB-INF/jsp/customer/list.jsppattern>3. decorator>则无法成功进行装饰,如果配置如下:xml 代码1. <decorator name="main" page="main.ftl">2. <pattern>/*pattern>3. decorator>则可以成功进行装饰。
1.检测到有潜在危险的 Request.Form 值2.“在没有任何数据时进行无效的读取尝试”解决办法3.数据为空。
不能对空值调用此方法或属性。
4.阅读器关闭时 FieldCount 的尝试无效5.未能映射路径6.Unreachable code detected7.索引超出范围。
必须为非负值并小于集合大小8.数据为空。
不能对空值调用此方法或属性9.数据源不支持服务器端的数据分页10.对象名'***** '无效11.在建立与服务器的连接时出错。
在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。
(provider: 命名管道提供程序,error: 40 - 无法打开到 SQL Server 的连接) 12.SqlDateTime 溢出。
必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。
13.出现-------表示“属性”,此处应为“方法”14.未能从程序集“DAL, Version=1.0.0.0, Culture=neutral,PublicKeyToken=null”中加载类型“DAL.SqlHelper”。
15.为过程或函数指定的参数太多16.无法启动调试,绑定句柄无效17.Unable to debugging on the web server.Debug failed because integrated windows authentication is not enable18.Automation 操作中文件名或类名未找到: 'RegExp'19.System.NullReferenceException: 未将对象引用设置到对象的实例。
20.错误 1718。
文件被数字签名策略拒绝(安装vs2005sp1时)21.vs2005不能从源文件模式切换到视图模式22.Validation of viewstate MAC failed23.Automation server can't create object"(Automation 服务器不能创建对)24.包加载失败25.Error spawning 'cmd.exe'.26.尝试读取或写入受保护的内存27.无法在证书存储区中找到清单签名证书28.该项目中不存在目标“ResolveKeySource”。
java程序错误类型及异常处理⼀、程序的错误类型在程序设计中,⽆论规模是⼤是⼩,错误总是难免的。
程序的设计很少有能够⼀次完成,没有错误的(不是指HelloWorld这样的程序,⽽是要实现⼀定的功能,具备⼀定实⽤价值的程序),在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错误就是我们常说的“Bug”,⽽检测并修正这些错误的⽅法就是“Debug”(调试)。
基本上所有的集成开发环境都提供了强⼤的和程序调试功能,在程序进⾏编译,连接,运⾏时,会对程序中错误进⾏诊断。
程序的错误可以抽象分为三类:语法错误、运⾏错误和逻辑错误。
1、语法错误是指由于编程中输⼊不符合语法规则⽽产⽣的。
程序编译就通不过,程序不能运⾏起来。
此类错误最简单,调试起来⽐较容易例如:表达式不完整、缺少必要的标点符号、关键字输⼊错误、数据类型不匹配、循环语句或选择语句的关键字不匹配等。
通常,编译器对程序进⾏编译的过程中,会把检测到的语法错误以提⽰的⽅式列举出来,⼜称为编译错误。
语法错误的调试,则可以由集成开发环境提供的调试功能来实现,在程序进⾏编译时,编译器会对程序中的语法错误进⾏诊断。
编译诊断的语法错误分为3中:致命错误、错误和警告。
(1)致命错误:这个错误⼤多是编译程序内部发⽣的错误,发⽣这类错误时,编译被迫中⽌,只能重新启动编译程序,但是这类错误很少发⽣,为了安全,编译前最好还是先保存程序。
(2)错误:这个错误通常是在编译时,语法不当所引起的。
例如:括号不匹配,变量未声明等。
产⽣这类错误时,编译程序会出现报错提⽰,我们根据提⽰对源程序进⾏修改即可。
这类错误是出现最多的。
(3)警告:是指被编译程序怀疑有错,但是不确定,有时可强⾏通过。
例如:没有加void声明的主函数没有返回值,double数据被转换为float类型等。
这些警告中有些会导致错误,有些可以通过。
常规解决⽅法:此类错误⼀般程序编译系统会⾃动提⽰相应的错误地点和错误原因,⽐如哪⼀⾏代码少了个括号等诸如此类的提⽰,常见的错误,看懂直接改正即可,如果是看不懂原因,可以将错误提⽰信息输⼊搜索引擎查找⼀下,⼀般都能找到具体的解决办法。