- 苏州马小云
-
我们打算使用gdb去解决为什么下面的程序(文件为segfault.c)引起了段错误的问题。下面的这段程序是从用户那里读入一行文本字串然后显示在屏幕上。然而,如下当前的程序并不会如期执行...
[cpp] view plaincopyprint?
<span style="font-size:18px;">#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *buf;
buf = malloc(1<<31);
fgets(buf, 1024, stdin);
printf("%s ", buf);
return 1;
}</span>
第一步是使用带有调试标志(debugging flags)的方式编译这段代码,如下:
~# gcc -g segfault.c
然后运行:
~# a.out
Hello World!
Segmentation fault
这并不是我们所期待的。是时候启动强大的gdb了。
~# gdb a.out
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb)
我们直接运行就来看看到底发生了什么:
(gdb) run
Starting program: /home/dgawd/cpsc/363/a.out
test string
Program received signal SIGSEGV, Segmentation fault.
0x4007fc13 in _IO_getline_info () from /lib/libc.so.6
我们收到了来自操作系统的SIGSEGV信号。这就意味着我们试图去访问一段非法的内存,让我们试试backtrace(= bt)命令:
(gdb) backtrace
#0 0x4007fc13 in _IO_getline_info () from /lib/libc.so.6
#1 0x4007fb6c in _IO_getline () from /lib/libc.so.6
#2 0x4007ef51 in fgets () from /lib/libc.so.6
#3 0x80484b2 in main (argc=1, argv=0xbffffaf4) at segfault.c:10
#4 0x40037f5c in __libc_start_main () from /lib/libc.so.6
这里我们只关心我们自己的代码,因此我们就切换到3号堆栈帧(stack frame3)来看看程序在哪里崩溃的:
(gdb) frame 3
#3 0x80484b2 in main (argc=1, argv=0xbffffaf4) at segfault.c:10
10 fgets(buf, 1024, stdin)
哦,原来是调用fgets引起的崩溃。一般的,我们都假设库函数比如fgets都可以正确地工作(如果不是这样的话,我们的麻烦就大了)。因此这个问题的原因就一定是其中我们的一个参数的问题。你也许不知道‘stdin"是一个全局的变量,它是被stdio 库创建的。因此我们假定这个参数是正确的。那么剩下的就只能是‘buf"了,然后查看buf当前的值:
(gdb) print buf
$1 = 0x0
buf的值是0x0,也就是NULL指针。这并不是我们锁期待的 —— buf应该指向第8行代码分配到的内存。因此我们需要返回到第8行并看看在哪里发生了什么。首先kill掉我们程序当前运行的调用:
(gdb) kill
Kill the program being debugged? (y or n) y
(注意:不用使用quit直接退出gdb,这样比较麻烦。直接kill掉当前的程序调用即可)
然后在第8行设置一个断点:
(gdb) break segfault.c:8
Breakpoint 1 at 0x8048486: file segfault.c, line 8.
再次运行程序:
(gdb) run
Starting program: /home/dgawd/cpsc/363/a.out
Breakpoint 1, main (argc=1, argv=0xbffffaf4) at segfault.c:8
8 buf = malloc(1<<31);
我们检查malloc调用前后buf值的变化。初始化buf以前,其值应该是一个随机杂乱值(garbage),就像这里的:
(gdb) print buf
$2 = 0xbffffaa8 "鳃uf8f5?177 03@t` 01@ 01"
我们step over(单步执行)malloc调用然后再次检查buf的值:
(gdb) next
10 fgets(buf, 1024, stdin);
(gdb) print buf
$3 = 0x0
可见调用了malloc之后,buf是NULL。如果你查看malloc的手册页(man page),你就会发现malloc在不能分配够所需的内存的时候就会返回NULL。因此确定是我们的malloc失败了。让我们返回到代码再次看看:
7 : buf = malloc(1<<31);
哦,表达式1<<31(整型1左移31次,原文错写为右移)是429497295, 或4GB (gigabytes).很少有机器会有这样的内存——大多数只有256MB(显然这篇文章有年头了,都什么年代了,这点内存操作系统估计启动一半就挂了)。因此malloc必然会失败。此外,在fgets中我们只读入1024字节。所有的额外空间都会白白浪费掉,尽管我们可以分配到。这里我们将1<<31改为1024(或者1<<9),这样程序就会按照我们的期望运行了:
~# a.out
Hello World!
Hello World!
这样你就可以知道怎样使用gdb来调试段错误了,这是非常有用的。这个例子同时也说明了一个非常重要的准则:总是检查malloc的返回值!拥有美好的一天(说实在,我让段错误恶心了一天。但以后就应该不太恶心了,以后每一天都美好吧 ^_^)。
调试设备英语怎么说?
机械设备调试的“调试”英文用什么单词 experiment and adjust 专用设备调试 英文怎么说 dedicat棱d equipment adjustment dedicated device debugging 机械设备调试的“调试”英文用什么单词 看你调试的目的是什么:设备是新来的,需要试着调试下,看怎么运作,看能不能运作,用missioning; 设备在使用中感觉效果不是很好,想通过调整些参数或者零件使它更好用,也就是优化它,用tune 如果感觉设备好像有点问题,想调试下看问题在哪里,想把这个问题找出来并解决,用debug 负责设备调试 用英语怎么说 be in charge of equipment adjustment (debugging) 机械设备调试的“调试”英文用什么单词 调试的动词和名词形式分别是 debug, debugging 其他的单词还有 modify, test 整机调试用英语怎么说 iPhone 的主界面上应该有个 Settings(设置),单击后进入设置菜单;然后单击 General(通用)进入系统设置界面;再单击 International(多语言环境)进入多语言设置界面;再单击 Language(语言)进入界面语言选择设置;单击“简体中文”,再单击屏幕右上角的 Done(完成),等一段时间就变成中文界面了。 机械设备调试的“调试”英文用什么单词 调试 checkout [科技] debug [计] 用于程序设计 debugging [计] setup [科技] shakedown test [试验]2023-07-31 13:10:121
华为S3952查看debugging信息
在华为S3952上开启debugging命令后,使用下面命令想查看debugging信息,结果发现什么都没有,一直以为是通过这个命令,开启debugging信息查看,甚至怀疑交换机的debugging功能是否有问题了 <S3952>terminal monitor % Current terminal monitor is on 通过百度搜索,才发现原来还有下面这个这命令,一敲,果然一大堆debugging系想你就吐出来了 <S3952>terminal debugging % Current terminal debugging is on <S3952>undo terminal debugging % Current terminal debugging is off 使用的S3952版本如下 <S3952>disp ver Huawei Versatile Routing Platform Software. VRP software, Version 3.10, Feature 1528L03 Copyright(c) 1998-2007 Huawei Technologies Co., Ltd. All rights reserved. Quidway S3952P-EI uptime is 16 weeks, 4 days, 3 hours, 52 minutes Quidway S3952P-EI with 1 Processor 64M bytes DRAM 16384K bytes Flash Memory Config Register points to FLASH Hardware Version is REV.C CPLD Version is CPLD 001 Bootrom Version is 505 [Subslot 0] 48 FE Hardware Version is REV.C [Subslot 1] 4 GE Hardware Version is REV.C2023-07-31 13:10:191
凯迪拉克xt5usbdebugging怎么打开
可以在设置,应用程序,开发下找到USB调试。进入设置界面后,下拉选择辅助功能点击打开。在辅助功能界面,我们接着操作,找到开发者选项。点击打开开发者选项,找到下面的sb调试按钮点击打开即可。USB调试模式是安卓手机提供的一个用于开发工作的功能。使用该功能可在设备和安卓手机之间复制数据、在移动设备上安装应用程序、读取日志数据等等。默认情况下,USB调试模式是关闭的,而且开关入口是隐藏状态,所以需要手动打开它。2023-07-31 13:10:291
enable usb debugging是什么意思
enable usb debugging启用usb调试双语例句Fully charge you device and enable the USB debugging mode in settings. 将设备充满电然后在设置中启用USB调制模式。2023-07-31 13:10:392
出现蓝屏后,如果使用Debugging分析问题
您好!感谢您选择惠普产品。 根据您的描述,建议您参考下列信息: 机器出现蓝屏之后,如何使用使用Debugging分析问题:1.安装debug工具直接下载链接:http://msdl.microsoft.com/download/symbols/debuggers/dbg_amd64_6.11.1.404.msi下载软件之后。双击安装如下:1)选择next2)然后选择I agree3)、然后选择第一个选项。然后点install2、安装Symbols(特征库)Win7:http://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/Windows_Win7SP1.7601.17514.101119-1850.X86FRE.Symbols.msi下载之后,双击安装2)、点NEXT之后选择第一个选项3)、然后在选择next这个选项然后一步步安装就可以。3、安装完毕之后,首先介绍一下WINDOWS的minidump文件夹计算机每次意外停止时(比如蓝屏或者突然关机)Windows 都会新建一个文件,这个文件就会存放在C:WINDOWSminidump文件夹里,如果机器出现蓝屏,但是没有生成该文件夹,请查看系统转储路径是否正确,正确路径为:%SystemRoot%/MEMORY.DMP。这些文件的历史记录按照日期命名,如:C:/WINDOWS/Minidump/ 060912-25334-01.dmp该转储文件类型包括以下信息:Stop 消息及其参数和其他数据加载的驱动程序的列表已停止的处理器的上下文 (PRCB)已停止的进程的信息和内核上下文 (EPROCESS)已停止的进程的信息和内核上下文 (ETHREAD)已停止的线程的内核模式调用堆栈简单的说就是系统如果遇到问题产生蓝屏报错,一般在C:WINDOWS/minidump都会生成相应.dmp格式的转储文件。如果能够根据这些记录去分析系统遇到的问题,那么就能基本准确的找到蓝屏或者其他意外停止的原因,debug工具就是微软的工程师为了准确分析故障原因而设计开发的,只需要将debug分析工具安装到你的计算机上,然后打开对应的dmp文件,就可以大致分析出系统之前出现的问题了。4、配置debug工具,添加Symbols库文件运行WinDbg,选择“File”→“Symbol File Path”把Symbols的安装路径添加进去5、解析dump文件找到dump文件添加进去,或者将dump文件拖动到WinDbg窗口中。可以尝试通过google或者microsoft搜索这个文件的功能,判断是属于驱动还是属于系统的文件,从而尝试找到解决方案。希望以上回复能够对您有所帮助。2023-07-31 13:10:461
调试 英文是什么
有西班牙的翻译更好~~ 急~~~ 英语:Single-step debugging 西班牙语:Una sola fase de depuración step into paso en2023-07-31 13:10:532
华为6850交换机怎么开启debug
执行命令commit,提交配置。配置Debug信息输出到控制台背景信息通过配置Debug信息输出到控制台,用户可以在控制台(通过Console口登录到设备上的主机)上查看到Debug信息,以便及时监控设备的运行情况。操作步骤执行命令system-view,进入系统视图。执行命令info-center console channel { channel-number | channel-name },配置Debug信息输出到控制台所使用的通道。缺省情况下,系统向控制台输出信息使用0号通道。执行命令info-center source { module-name | default } channel { channel-number | channel-name } debug { state { off | on } | level severity } *,配置向信息通道输出Debug信息的规则。缺省情况下,系统向0号通道输出Debug信息的状态为on,最低信息级别为debugging。执行命令commit,提交配置。执行命令quit,退回到用户视图。执行命令terminal monitor,使能终端显示信息中心发送信息的功能。缺省情况下,控制台显示功能处于使能状态,用户终端显示功能处于未使能状态。执行命令terminal debugging,使能终端显示Debug信息功能。缺省情况下,终端显示Debug信息功能处于未使能状态-----------------------配置Debug信息输出到终端背景信息通过配置Debug信息输出到用户终端,用户可以在用户终端(通过STelnet等方式登录到设备上的主机)上查看到Debug信息,以便及时监控设备的运行情况。操作步骤执行命令system-view,进入系统视图。执行命令info-center monitor channel { channel-number | channel-name },配置Debug信息输出到用户终端所使用的通道。缺省情况下,系统向用户终端输出信息使用1号通道。执行命令info-center source { module-name | default } channel { channel-number | channel-name } debug { state { off | on } | level severity } *,配置向信息通道输出Debug信息的规则。缺省情况下,系统向1号通道输出Debug信息的状态为on,最低信息级别为debugging。执行命令commit,提交配置。执行命令quit,退回到用户视图。执行命令terminal monitor,使能终端显示信息中心发送信息的功能。缺省情况下,控制台显示功能处于使能状态,用户终端显示功能处于未使能状态。执行命令terminal debugging,使能终端显示Debug信息功能。缺省情况下,终端显示Debug信息功能处于未使能状态。---------------检查配置结果操作步骤执行命令display info-center channel [ channel-number | channel-name ],查看信息通道的配置信息。2023-07-31 13:11:041
usb debugging是什么意思呢?怎么才能启用呢?
usb调试,在settings中,有一个控制是否允许远程调试的选项usb debugging,当这个开关为off的时候,无法使用adb,也不能把手机当作ms-storage来使用。 java中能访问的设定保存在/data/data/com.android.providers.settings/databases/settings.db里面。字段名字叫做 adb_enabled。用户操作settings来修改设定时,实际上就是改变这个字段。android进程system server中起了一个线程在一直监视db的这个字段。根据这个字段的值来修改system propertity,其实也就是修改linux的环境变量persist.service.adb.enable代码如下class ServerThread extends Thread { private static final String TAG = "SystemServer"; private final static boolean INCLUDE_DEMO = false; private static final int LOG_BOOT_PROGRESS_SYSTEM_RUN = 3010; private ContentResolver mContentResolver; private class AdbSettingsObserver extends ContentObserver { public AdbSettingsObserver() { super(null); } @Override public void onChange(boolean selfChange) { boolean enableAdb = (Settings.Secure.getInt(mContentResolver, Settings.Secure.ADB_ENABLED, 0) > 0); // setting this secure property will start or stop adbd SystemProperties.set("persist.service.adb.enable", enableAdb ? "1" : "0"); } }复制代码在linux的启动配置文件init.rc中有这样的配置。# adbd is controlled by the persist.service.adb.enable system propertyservice adbd /sbin/adbd disabled# adbd on at boot in emulatoron property:ro.kernel.qemu=1 start adbdon property:persist.service.adb.enable=1 start adbdon property:persist.service.adb.enable=0 stop adbd复制代码从这里我们可以看出来其实设定adb_enabled与否其实就是在控制是否启动adbd这个daemon。2023-07-31 13:11:131
怎样开启Android Wear的USB Debugging调试模式
转载在Android Wear中,通常所讲的USB Debugging调试模式有两种类型,它们分别是: ADB debugging,ADB调试 Debug over Bluetooth,通过蓝牙调试 对于许多Android用户来说,开发者就更是了,启用USB Debugging调试模式是非常必要的。作为Android的可穿戴平台,Android Wear自然也没有例外。 为了让大家清楚Android Wear的USBDebugging调试模式的设置过程,我们写下这篇文章。 开启Android Wear的ADB debugging与Debug over Bluetooth调试模式 在你的Android Wear主屏点击,由于当前的Android Wear设备主要智能手表,因此可以说是表盘,请务必不要点通知卡 你可能会看到语音控制提示,不用理会,大约三秒后,你的Android Wear会进入可滚动列表的本地操作 滚动,然后选择Settings(设置) 打开About(关于) 找到Build number(构建版本号),然后点七次,你将会注意到一个弹出的消息提示:You are now a developer!。显然,这与Android 4.2+类似 打开Developer options(开发者选项) 如果你想启用ADB debugging,找到并启用ADB debugging(ADB调试) 你可能会看到确认的提示,确认即可 如果你想启用Debug over Bluetooth,找到并启用Debug over Bluetooth(通过蓝牙调试) 你可能会看到确认的提示,确认即可 你应当明白一点,一旦你启用了USB debugging调试模式,你将你的Android Wear连接到任何一台已安装了相应的Android USB驱动的电脑时,你将会看到一个设备配对的提示。如果电脑是你自己的,你可以确认连接,你能选择总是授权的选择项,这样就不必每次都要授权了。而如果你使用的电脑不是你私人的,那为了你的隐私,你最好谨慎行事,或者直接取消吧。2023-07-31 13:11:321
debugging tools for win10怎么用
首先需要获取Debugging Tools安装程序,可以在百度中搜索Debugging Tools下载安装,也可以去微软官方下载安装。Debugging Tools有32位和64位的版本,是根据Windows系统版本而定,安装后Windbg.exe为Debugging Tools的可执行程序,在高版本的系统中,注意打开时以管理员身份运行,才可以使用Debugging Tools打开DMP蓝屏文件。打开后,点击“File”菜单,Debugging Tools也有汉化中文版本,可以在百度中搜索下载汉化版本。选择“Open Crash Dump”即打开转储文件。5找到系统盘下C:Windows下或C:Windowsminidump文件夹下的.dmp文件。6若在这个文件下面找不到.dmp文件,则有可能没有写入或目录位置修改过,不是默认的。如图路径:我的电脑右键属性,进入系统-高级系统设置-启动和故障恢复设置中可以查看到。2023-07-31 13:11:401
enable-debugging是什么意思
enable-debugging双语例句1. This committee will enable decisions to be made democratically. 该委员会将实现民主决议过程。2. The vote will enable the Prime Minister to push through tough policies. 这次投票将使首相能够力行强硬政策。******************************************************************************************************************************请采纳如果你认可我的回答,敬请及时采纳,~如果你认可我的回答,请及时点击【采纳为满意回答】按钮~~手机提问的朋友在客户端右上角评价点【满意】即可。~你的采纳是我前进的动力~~O(∩_∩)O,记得好评和采纳,互相帮助************************************************************2023-07-31 13:11:492
蓝屏使用Windebugging分析的结果,请问是什么硬件问题?
BSOD提供的信息指向nt_wrong_symbols.sys(nt_wrong_symbols)模块,通常表示错误代码0x1000007E。它表明系统线程生成了错误处理程序未捕获的异常根据UgetFix技术人员的说法,nt_wrong_symbols.sys错误是一个典型的软件驱动程序错误,不太可能是由硬件问题引起的。在大多数情况下,更新或重新安装图形卡驱动程序有助于修复nt_wrong_symbols.sys蓝屏死机。请进入系统或安全模式进入安全模式后,运行完整的恶意软件扫描,运行系统文件检查器,安装Windows更新并执行内存诊断。如果以上步骤都无法解决问题,请卸载Fall Creators Update一旦进入安全模式,请务必检查过时的设备驱动程序。主要更新/重新安装图形卡驱动程序:右键单击Windows键并选择设备管理器。现在展开显示适配器部分并单击您的图形卡驱动程序。选择更新驱动。自动选择搜索更新驱动程序软件。现在等待驱动程序更新。2023-07-31 13:11:581
使华为路由器调试中输出调试信息的方法
第一次回答可获2分,答案被采纳可获得悬赏分和额外20分奖励。debug是设备调试,排错中非常重要也非常有效的手段。缺省下调试信息输出是关闭的,需要用命令将其打开。使用debug调试设备需要对网络协议和Quidway产品相对熟悉的情况下使用。过程:首先输入[Router]info-centerenable使用console配置口时,输入:[Router]info-centerconsole[Router]info-centerconsoledebug使用远程telnet时,输入:[Router]info-centermonitor[Router]info-centermonitordebug此处以调试链路层协议ppp数据包为例[Router]debuggingppppacket2023-07-31 13:12:051
蓝屏DMP文件分析工具Debugging Tools怎么用
蓝屏不是靠分析出来的,如果是解决问题就简单了,您说呢? 您的电脑蓝屏的时候,您在电脑干什么呢,能说说吗?我会跟据您说的较为准确的回答您。 蓝屏代码或事件查看器里面的内容普通人是看不懂的,请将你在蓝屏前电脑的表现,和你操作说的详细...2023-07-31 13:12:151
电脑出先Just-In-Time Debugging 是什么意思?关又关不掉。。
请尝试关掉IE里面的禁止脚本调试选中。 IE-->Tools-->Internet Options-->Advanced-->选上 Disable Script Debugging(internet explorer) IE-->Tools-->Internet Options-->Advanced-->选上 Disable Script Debugging(other)2023-07-31 13:12:231
蓝屏DMP文件分析工具Debugging Tools怎么用
蓝屏DMP文件分析工具Debugging Tools怎么用,小刚SEO为你解答 首先需要获取Debugging Tools安装程序,可以在百度中搜索Debugging Tools下载安装,也可以去微软官方下载安装。 步骤阅读.2Debugging Tools有32位和64位的版本,是根据Windows系统版本而定,安装后Windbg.exe为Debugging Tools的可执行程序,在高版本的系统中,注意打开时以管理员身份运行,才可以使用Debugging Tools打开DMP蓝屏文件。 步骤阅读.3打开后,点击逗File地菜单,Debugging Tools也有汉化中文版本,可以在百度中搜索下载汉化版本。 步骤阅读.4选择逗Open Crash Dump地即打开转储文件。 步骤阅读.5找到系统盘下C:Windows下或C:Windowsminidump文件夹下的.dmp文件。 步骤阅读.6若在这个文件下面找不到.dmp文件,则有可能没有写入或目录位置修改过,不是默认的。如图路径:我的电脑右键属性,进入系统-高级系统设置-启动和故障恢复设置中可以查看到。 步骤阅读.7使用Debugging Tools打开蓝屏文件后,可以看到内容,这里内容需要对Windows系统很了解才能看明白。 步骤阅读.8对于整句的英文,看不明白意思,可以复制到百度翻译中进行翻译成中文,若翻译不准确,也可以单个单词进行翻译。 步骤阅读.9在故障检验分析Bugcheck Analysis中的Call Site中是调用点,即在蓝屏时Call Site调用点从上到下的过程。 步骤阅读.10在这个过程中出现ERROR错误,Module load completed but symbols could not be loaded for NETwew00.sys,NETwew00.sys文件不能被加载。这就是导致蓝屏的原因,在有些电脑上也有可能是逗Probably caused by地后面出现蓝屏的原因。 步骤阅读.11这时我们可以将这个NETwew00.sys在百度中搜索一下相关资料,找出现Windows蓝屏的原因,当然这个过程很可能不顺利,因为导致蓝屏的原因多种多样的。但至少在这个过程中也是一种学习。2023-07-31 13:12:511
vc2005调试应用程序时弹出"unable to start debugging"怎么办
每一个按钮的响应函数里都应该是先连接数据库,退出前断开与数据库的连接或者在对话框初始化的时候连接数据库,关闭之前再断开,这样就不用中途连接数据库了2023-07-31 13:13:091
win7蓝屏 用Windows Debugging Tool分析后如下,大神看看电脑什么原因蓝屏
你电脑安装了不兼容的东西 建议从新做下系统C盘2023-07-31 13:13:184
H3C 3600SI 交换机 debugging radius packet 后为何不显示调试信息,试过debugging + 其它参数 均不显
H3C最近接触的少了给你说一下cisco的例子你是不是telnet登陆的,telnet登陆需要在特权模式下输入terminal monitor才能将终端信息发送到vty线路上来你看看H3C有没有类似的命令(好像是一样的)还有就是看日志能因该也能看到2023-07-31 13:14:022
调试是什么意思
调试的意思是:试验并调整机器、仪器等。调试,拼音:[tiáo shì]。解释:试验并调整机器、仪器等;在安装过程中对设备所作的试验工作。调试造句1、以污水处理厂为例,介绍了工艺在冬季低温条件下活性污泥培养与调试运行的控制方法。2、据说,乔布斯曾让最初的团队的设计师们通宵熬夜反复调试耳机插孔,以保证它能发出更令人满意的咔嗒声。3、拥有用于各种环境和语言的调试器和应用程序测试工具。4、这个值用来设置调试远程目标的串口传输速度。5、除此之外,调试人员还应将电磁波滤波器连接至音频放大器音频输出端,诸如铁氧体磁环均能达到类似的过滤效果。6、这种汇编语言输出表是支持调试的有用工具。7、本文介绍安全栅的基础知识,闸述了正确选用安全栅,以及安装和在现场调试安全栅时的注意事项。8、分析了传感器定期标定的必要性,介绍了制冷空调试验装置中常用的各种类型传感器的标定方法。9、注重售前售后服务,配合安装调试,提供技术指导。2023-07-31 13:14:091
windows7+windows+debugging+system能卸载吗?
不建议卸载 Windows 7 的调试系统,因为调试系统是操作系统的重要组成部分之一,它提供了操作系统内部的调试、跟踪、诊断等功能,对于软件开发、故障排查等都是非常重要的。如果卸载了调试系统可能会影响操作系统的正常运行,并且也会影响到开发和故障排查等工作的进行。如果确实需要卸载某个组件,建议在卸载前备份重要数据,以防不必要的损失。2023-07-31 13:14:222
对软件采用的调试方法有哪些?
1. 直接输入、更改、跟踪、运行汇编程序 2. 观察操作系统的内容; 3. 查看ROM BIOS的内容; 4. 观察更改RAM内部的设置值; 5. 以扇区或文件的方式读写软盘数据。 在DEBUG中地址用段地址与段内地址来表示,而段地址可以明确地指出来,也可以用一个段指示器(段寄存器)来代表,用段寄存器表示时,其段地址就是此寄存器的内含值: 如:用段地址和段内地址表示FOFF:0100 用段寄存器和段内地址表示CSF:0100←CS指向F000 下面列出了常用命令用法。 -A 地址 从指定地址开始编写小汇编程序,按两个回车键结束编辑 -U 地址 从指定地址开始反汇编32字节的机器指令,缺省地址则从上一U命令继续 -D 始址 终址 以16进制/Asc字符对照方式显示指定内存范围的数据,每行显示10H个字节 -E 地址 值表 用给出的值表(空格分隔)替换指定地址开始的内存单元,例:-E 100 "v" 1F "hello" -N 文件名 为后续的L/W命令约定所操作的文件名 -L 地址 将N命令所指定文件的内容读入到指定内存位置。另,逻辑卷扇区直接读:-L 地址 逻卷号 起始逻扇号 扇数 -W 地址 将BX-CX个字节的内存数据写入N命令指定的文件中。另,逻辑卷扇区直接写:-W 地址 逻卷号 起始逻扇号 扇数 -R 寄存器名 显示并允许修改指定寄存器的值 -G=始址 终址 执行指定内存中的机器指令程序 -T=地址 单步执行机器指令,缺省地址则从上一T命令继续。另,继续跟踪m条指令:-T m 读取c:卷的引导扇区,并保存到Boot.1文件中,并简单分析引导程序的前面几条指令: -L 1000 2 0 1 -N boot.1 -R bx ;输入0000 -R cx ;输入0200 -W 1000 -U 1000 读取第一个硬盘上的主引导扇区,并保存到MB.1文件中,在屏幕上显示硬盘分区表数据: -A 100 yyyy:0100 mov dx,0080 yyyy:01xx mov cx,0001 yyyy:01xx mov ax,yyyy yyyy:01xx mov es,ax yyyy:01xx mov bx,1000 yyyy:01xx mov ax,0201 yyyy:01xx int 13 yyyy:01zz nop -G=yyyy:0100 01zz -N mb.1 -R bx ;输入0000 -R cx ;输入0200 -W 1000 -D 11be 11ff debugging命令 debugging命令概述 获得路由器中交换的报文和帧的细节信息 用于调试信息 debugging命令使用注意事项 不使用debug命令监控正常的网络运行 在网络使用的低峰期使用 不要轻易使用类似debugging all之类的命令 使用debugging命令后,应立即以“undo debugging”命令终止debugging命令的执行。 Debugger "Debugger"这个词按它的英文字面意思来讲是这样一种“装置”(-er),这种装置可以“消除”(De-)“系统中的缺陷”(bug)。然而事实上,迄今为止我们经常使用到的"Debugger"只是用来帮助我们进行Debug的工具,"Debugger"本身不能自动完成"Debug"。我们可以回想一下我们是如何进行Debug的,在进行Debug的过程中,我们通过Debugger来完成以下工作: (1)监视“Debug对象”的状态; (2)控制“Debug对象”的运行; 这些工作可以为“发现Debug对象中存在的问题”以及“对解决问题方案的检验”提供有用的信息。 监控工作有时只需要由软件就可以完成,有时不仅需要软件支持,还需要硬件的支持。 Debugger除了被用来Debug,还被用来帮助我们理解“Debug的对象”内部结构,因为我们用到的Debugger能够完成对“Debug对象”的监控工作,在监控的过程中可以获取“Debug对象”动态特征的信息,这对我们理解其结构是非常有用的。 关于更详细的介绍和研究可以参考国人原创的《软件调试》 ,这 [url= http://www.chenganzhiyxrj.com ]嫦娥二号直播[/url]2023-07-31 13:14:321
用微软的debugging tools(windbg preview)分析的电脑蓝屏原因,代码如下,求大神解答(win10蓝屏)
额,用windbg是需要有Symbols的现在微软已经不再发布脱机符号包了,所以要在软件中设置到微软的符号服务器上去,打开windbg preview——》左上角文件——》Settings——》Debugging Settings——》Default Symbol path,设置如下c:Symbols;srv*c:Symbols*https://msdl.microsoft.com/download/symbols设置完,关闭windbg再打开,再去分析你想分析的东西2023-07-31 13:14:392
如何默认打开user版本 debug 选项,默认打开adb 连接
1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面 设置会根据system property 的persist.service.adb.enable 来设置。您可以看到类似如代码: [java] view plaincopy在CODE上查看代码片派生到我的代码片 // make sure the ADB_ENABLED setting value matches the secure property value Settings.Secure.putInt(mContentResolver, Settings.Secure.ADB_ENABLED, "1".equals(SystemProperties.get("persist.service.adb.enable")) ? 1 : 0); // register observer to listen for settings changes mContentResolver.registerContentObserver(Settings.Secure.getUriFor(Settings.Secu ENABLED),false, new AdbSettingsObserver()); 而这个persist.service.adb.enable 默认是放在在default.prop 中,在编译的时候在 build/core/main.mk 中确认, [java] view plaincopy在CODE上查看代码片派生到我的代码片 ifeq (true,$(strip $(enable_target_debugging))) # Target is more debuggable and adbd is on by default ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1 # Include the debugging/testing OTA keys in this build. INCLUDE_TEST_OTA_KEYS := true else # !enable_target_debugging # Target is less debuggable and adbd is off by default ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0 endif # !enable_target_debugging 您需要将: ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0 改成 ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1 2. 在android 4.0 之后,因为adb 的控制,统一使用了persist.sys.usb.config 来控制,于是对 应的设置点也改到了frameworks/base/service/...../usb/UsbDeviceManager.java 中,您也可以 看到类似的代码如: [java] view plaincopy在CODE上查看代码片派生到我的代码片 public UsbHandler(Looper looper) { // persist.sys.usb.config should never be unset. But if it is, set it to "adb" // so we have a chance of debugging what happened. mDefaultFunctions = SystemProperties.get("persist.sys.usb.config", "adb"); // sanity check the sys.usb.config system property // this may be necessary if we crashed while switching USB configurations String config = SystemProperties.get("sys.usb.config", "none"); if (!config.equals(mDefaultFunctions)) { Slog.w(TAG, "resetting config to persistent property: " + mDefaultFunctions); SystemProperties.set("sys.usb.config", mDefaultFunctions); } mCurrentFunctions = mDefaultFunctions; String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim(); updateState(state); mAdbEnabled = containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ADB); public void systemReady() { // make sure the ADB_ENABLED setting value matches the current state Settings.Secure.putInt(mContentResolver, Settings.Secure.ADB_ENABLED, mAdbEnabled ? 1 : 0); 而这个persist.sys.usb.config 中adb 的配置是在alps/build/tools/post_process_props.py 中 根据ro.debuggable = 1 or 0 来设置,1 就是开启adb, 0 即关闭adb debug. 而这个 ro.debuggable 也是在alps/build/core/main.mk 中设置,和2.3 修改类似 不过您这样打开之后,对于user 版本adb shell 开启的还是shell 权限,而不是root 权限,如果 您需要root 权限,需要再改一下system/core/adb/adb.c 里面的should_drop_privileges() 这个 函数,在#ifndef ALLOW_ADBD_ROOT 时return 0; 而不是return 1; 即可。 --------------------------------------------------------------------------------------- 1. 根据编译命令确定ro.debuggable build/core/main.mk [java] view plaincopy在CODE上查看代码片派生到我的代码片 ## user/userdebug ## user_variant := $(filter user userdebug,$(TARGET_BUILD_VARIANT)) enable_target_debugging := true tags_to_install := ifneq (,$(user_variant)) # Target is secure in user builds. ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1 ifeq ($(user_variant),userdebug) # Pick up some extra useful tools tags_to_install += debug # Enable Dalvik lock contention logging for userdebug builds. ADDITIONAL_BUILD_PROPERTIES += dalvik.vm.lockprof.threshold=500 else # Disable debugging in plain user builds. enable_target_debugging := endif # enable dex pre-optimization for all TARGET projects in default to # speed up device first boot-up #add by yanqi.liu for costomization @{ ifneq ($(JRD_IS_GOAL_PERSO),true) WITH_DEXPREOPT := true endif #} # Turn on Dalvik preoptimization for user builds, but only if not # explicitly disabled and the build is running on Linux (since host # Dalvik isn"t built for non-Linux hosts). ifneq (true,$(DISABLE_DEXPREOPT)) ifeq ($(user_variant),user) ifeq ($(HOST_OS),linux) ifneq ($(JRD_IS_GOAL_PERSO),true) WITH_DEXPREOPT := true endif endif endif endif # Disallow mock locations by default for user builds ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=0 else # !user_variant # Turn on checkjni for non-user builds. # Kirby: turn off it temporarily to gain performance { # ADDITIONAL_BUILD_PROPERTIES += ro.kernel.android.checkjni=1 # ADDITIONAL_BUILD_PROPERTIES += ro.kernel.android.checkjni=0 # } Kirby # Set device insecure for non-user builds. ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0 # Allow mock locations by default for non user builds ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=1 endif # !user_variant # always enable aed ADDITIONAL_DEFAULT_PROPERTIES += persist.mtk.aee.aed=on # Turn on Jazz AOT by default if not explicitly disabled and the build # is running on Linux (since host Dalvik isn"t built for non-Linux hosts). ifneq (true,$(DISABLE_JAZZ)) ifeq ($(strip $(MTK_JAZZ)),yes) ifeq ($(HOST_OS),linux) # Build host dalvikvm which Jazz AOT relies on. WITH_HOST_DALVIK := true WITH_JAZZ := true endif endif endif ifeq (true,$(strip $(enable_target_debugging))) # Target is more debuggable and adbd is on by default ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=0 # Include the debugging/testing OTA keys in this build. INCLUDE_TEST_OTA_KEYS := true else # !enable_target_debugging # Target is less debuggable and adbd is off by default ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1 endif # !enable_target_debugging 2. 确定默认的usb功能 build/tools/post_process_props.py [java] view plaincopy在CODE上查看代码片派生到我的代码片 # Put the modifications that you need to make into the /system/build.prop into this # function. The prop object has get(name) and put(name,value) methods. def mangle_build_prop(prop): #pass #If ro.mmitest is true, then disable MTP, add mass_storage for default if prop.get("ro.mmitest") == "true": prop.put("persist.sys.usb.config", "mass_storage") # If ro.debuggable is 1, then enable adb on USB by default # (this is for userdebug builds) if prop.get("ro.build.type") == "eng": val = prop.get("persist.sys.usb.config").strip(" ") if val == "": val = "adb" else: val = val + ",adb" prop.put("persist.sys.usb.config", val) # UsbDeviceManager expects a value here. If it doesn"t get it, it will # default to "adb". That might not the right policy there, but it"s better # to be explicit. if not prop.get("persist.sys.usb.config"): prop.put("persist.sys.usb.config", "none"); # Put the modifications that you need to make into the /system/build.prop into this # function. The prop object has get(name) and put(name,value) methods. def mangle_default_prop(prop): # If ro.debuggable is 1, then enable adb on USB by default # (this is for userdebug builds) if prop.get("ro.debuggable") == "1": val = prop.get("persist.sys.usb.config") if val == "": val = "adb" else: val = val + ",adb" prop.put("persist.sys.usb.config", val) # UsbDeviceManager expects a value here. If it doesn"t get it, it will # default to "adb". That might not the right policy there, but it"s better # to be explicit. if not prop.get("persist.sys.usb.config"): prop.put("persist.sys.usb.config", "none");2023-07-31 13:14:471
c盘出现故障转储怎么办?
不用担心,这是正常的。“故障转储”是指你的C盘是内存转储文件所在的分区。内存转储文件是一个扩展名为“.DMP”的文件,上面记录有Windows Vista发生蓝屏死机时的关键信息,你可以根据内存转储文件来判断Windows Vista系统蓝屏死机的原因。内存转储文件有几种,鼠标右键单击“计算机”选择“属性”→“高级设置”→“高级”选项卡→“启动和故障恢复”栏的“设置”按钮,在“写入调试信息”下拉菜单里,你可以看到“小内存转储(64KB)”、“核心内存转储”和“完全内存转储”这三种选项,不同的选项,内存转储文件的内容不同,保存位置也不同。你可以在“转储文件”栏看到转储文件的保存位置。“小内存转储(64 KB)”只记录发生蓝屏死机时的关键信息,文件保存在WindowsMinidump 文件夹中,“核心内存转储”和“完全内存转储”文件分别记录有发生蓝屏死机时的核心内存信息和完整的内存信息,保存在 Windows 文件夹中,文件名为 MEMORY.DMP。要打开内存转储文件,需要使用微软的Debugging Tools(下载地址:http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx)打开。2023-07-31 13:14:571
WIN10蓝屏,请高手看下debugging tools的分析
电脑蓝屏的因素有太多了,只看代码也没办法准确判定的可以使用电脑管家,打开工具箱,有个电脑诊所,在里面直接找电脑蓝屏,然后就可以找到对应的解决办法了2023-07-31 13:15:263
电脑每天蓝屏一次,用Debugging Tools for Windows (x86)分析了,谁能帮我看看,是什么原因呢?谢谢!
将装系统的硬盘的每个插头拔掉重插下,拔一个插一个,这样就不会插错2023-07-31 13:15:332
这是我用Debugging Tools打开的DMP文件,但是不知道电脑蓝屏问题到底出现在哪里
因各种原因非法关机之后,电脑重启,会检测到这个异常,从而触发针对磁盘的自检程序。这“假蓝屏”的特征是:有分区盘符,有自检的百分比在步进,等完成之后,即可一般情况下,用户不要干涉(中途会有假停滞现象),让其自动完成磁盘的自检操作。如果不能正常完成磁盘自检(时间太长),也可以按下回车键(Enter)中断磁盘自检。如每次开机都会进行磁盘自检,这个就属于不正常现象了,可在注册表中设置停止自检,方法如下:开始→运行→输入:Regedit 回车(或按确定)打开注册表编辑器,依次定位到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManager子键,然后在右侧窗口中找到 BootExecute 键值项,并将其数值清空,最后按F5键,刷新注册表即可生效。在清除数据之前,可先复制一下这个数值名称BootExecute下的:autocheck autochk *然后点击工具栏上的收藏夹→添加到收藏夹,把这个数值名称中的数据黏贴进去。以后想要自动调用磁盘自检,把这个数据按图复原即可。2023-07-31 13:15:561
求助!!!!电脑经常自动重启,用Debugging Tools分析如下,自己实在是看不懂
电脑自动重启解决方法:1.关机前操作引起:玩游戏、看视频、或操作大程序、或电脑用的时间长了,这时是很卡的,你要有一些耐心等会电脑自己慢慢恢复,点击一下电脑上的每一个页面慢慢的恢复,等恢复正常后在关机或在做其它操作,如果还是不可以,就直接按开关机键关机;2.老是关机重启:出事前下载的软件、驱动、补丁等全部卸载试试,如果卸载软件无效或不知道安装了什么,先软后硬,还原一下系统。还是不行重新安装操作系统;3.如果还不能解决,先软后硬,重新安装操作系统;4.硬件方面,如硬盘、内存等是否出现问题,CPU等硬件的温度是否高,如果是硬件问题引起的,建议去电脑城维修或者送售后。2023-07-31 13:16:041
Visual Studio cannot start debugging
一般是系统缺少某个文件,重装是最好的解决方法。2023-07-31 13:16:292
h3c交换机如何查看debug信息,已开启debugging radius packet,debugging dot1x all。哪里能看到通信报文。
除了打开debugging radius packet,debugging dot1x all外,还需开启terminal monitor terminal debugging,这样屏幕上就会打印交互报文了2023-07-31 13:17:091
蓝屏DMP文件分析工具Debugging Tools怎么用
首先需要获取Debugging Tools安装程序,可以在百度中搜索Debugging Tools下载安装,也可以去微软官方下载安装。Debugging Tools有32位和64位的版本,是根据Windows系统版本而定,安装后Windbg.exe为Debugging Tools的可执行程序,在高版本的系统中,注意打开时以管理员身份运行,才可以使用Debugging Tools打开DMP蓝屏文件。打开后,点击“File”菜单,Debugging Tools也有汉化中文版本,可以在百度中搜索下载汉化版本。选择“Open Crash Dump”即打开转储文件。找到系统盘下C:Windows下或C:Windowsminidump文件夹下的.dmp文件。若在这个文件下面找不到.dmp文件,则有可能没有写入或目录位置修改过,不是默认的。如图路径:我的电脑右键属性,进入系统-高级系统设置-启动和故障恢复设置中可以查看到。使用Debugging Tools打开蓝屏文件后,可以看到内容,这里内容需要对Windows系统很了解才能看明白。对于整句的英文,看不明白意思,可以复制到百度翻译中进行翻译成中文,若翻译不准确,也可以单个单词进行翻译。在故障检验分析Bugcheck Analysis中的Call Site中是调用点,即在蓝屏时Call Site调用点从上到下的过程。在这个过程中出现ERROR错误,Module load completed but symbols could not be loaded for NETwew00.sys,NETwew00.sys文件不能被加载。这就是导致蓝屏的原因,在有些电脑上也有可能是“Probably caused by”后面出现蓝屏的原因。这时我们可以将这个NETwew00.sys在百度中搜索一下相关资料,找出现Windows蓝屏的原因,当然这个过程很可能不顺利,因为导致蓝屏的原因多种多样的。但至少在这个过程中也是一种学习。107Windows10蓝屏怎么办?怎么查Win10蓝屏原因?38电脑蓝屏DMP文件在哪?DMP文件怎么打开?2023-07-31 13:17:331
蓝屏DMP文件分析工具Debugging Tools怎么用
方法/步骤 1.首先需要获取Debugging Tools安装程序,可以在百度中搜索DebuggingTools下载安装,也可以去微软官方下载安装。 2.Debugging Tools有32位和64位的版本,是根据Windows系统版本而定,安装后Windbg.exe为DebuggingTools的可执行程序,在高版本的系统中,注意打开时以管理员身份运行,才可以使用Debugging Tools打开DMP蓝屏文件。 3.打开后,点击“File”菜单,DebuggingTools也有汉化中文版本,可以在百度中搜索下载汉化版本。 4.选择“Open Crash Dump”即打开转储文件。 5.找到系统盘下C:Windows下或C:Windowsminidump文件夹下的.dmp文件。 6.若在这个文件下面找不到.dmp文件,则有可能没有写入或目录位置修改过,不是默认的。如图路径:我的电脑右键属性,进入系统-高级系统设置-启动和故障恢复设置中可以查看到。 7.使用Debugging Tools打开蓝屏文件后,可以看到内容,这里内容需要对Windows系统很了解才能看明白。 8.对于整句的英文,看不明白意思,可以复制到百度翻译中进行翻译成中文,若翻译不准确,也可以单个单词进行翻译。 9.在故障检验分析BugcheckAnalysis中的Call Site中是调用点,即在蓝屏时Call Site调用点从上到下的过程。 10.在这个过程中出现ERROR错误,Moduleload completed but symbols could not be loaded for NETwew00.sys,NETwew00.sys文件不能被加载。这就是导致蓝屏的原因,在有些电脑上也有可能是“Probably caused by”后面出现蓝屏的原因。 11.这时我们可以将这个NETwew00.sys在百度中搜索一下相关资料,找出现Windows蓝屏的原因,当然这个过程很可能不顺利,因为导致蓝屏的原因多种多样的。但至少在这个过程中也是一种学习。 42Windows10蓝屏怎么办?怎么查Win10蓝屏原因? 37电脑蓝屏DMP文件在哪?DMP文件怎么打开?2023-07-31 13:17:431
蓝屏DMP文件分析工具Debugging Tools怎么用
首先需要获取Debugging Tools安装程序,可以在百度中搜索Debugging Tools下载安装,也可以去微软官方下载安装。Debugging Tools有32位和64位的版本,是根据Windows系统版本而定,安装后Windbg.exe为Debugging Tools的可执行程序,在高版本的系统中,注意打开时以管理员身份运行,才可以使用Debugging Tools打开DMP蓝屏文件。打开后,点击“File”菜单,Debugging Tools也有汉化中文版本,可以在百度中搜索下载汉化版本。选择“Open Crash Dump”即打开转储文件。找到系统盘下C:Windows下或C:Windowsminidump文件夹下的.dmp文件。若在这个文件下面找不到.dmp文件,则有可能没有写入或目录位置修改过,不是默认的。如图路径:我的电脑右键属性,进入系统-高级系统设置-启动和故障恢复设置中可以查看到。使用Debugging Tools打开蓝屏文件后,可以看到内容,这里内容需要对Windows系统很了解才能看明白。对于整句的英文,看不明白意思,可以复制到百度翻译中进行翻译成中文,若翻译不准确,也可以单个单词进行翻译。在故障检验分析Bugcheck Analysis中的Call Site中是调用点,即在蓝屏时Call Site调用点从上到下的过程。在这个过程中出现ERROR错误,Module load completed but symbols could not be loaded for NETwew00.sys,NETwew00.sys文件不能被加载。这就是导致蓝屏的原因,在有些电脑上也有可能是“Probably caused by”后面出现蓝屏的原因。这时我们可以将这个NETwew00.sys在百度中搜索一下相关资料,找出现Windows蓝屏的原因,当然这个过程很可能不顺利,因为导致蓝屏的原因多种多样的。但至少在这个过程中也是一种学习。107Windows10蓝屏怎么办?怎么查Win10蓝屏原因?38电脑蓝屏DMP文件在哪?DMP文件怎么打开?2023-07-31 13:17:531
enable-debugging是什么意思
开启调式模式2023-07-31 13:18:012
win7蓝屏 用Windows Debugging Tool分析后如下,大神看看电脑什么原因蓝屏
出现蓝屏的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等。(上述代码通常是由有问题的驱动程序或系统服务造成的.)建议:1、先把bios恢复出厂状态试试;2、系统是否有病毒,建议安全模式下扫描杀毒;3、重装系统后硬件的驱动程序是否安装成功?4、最好先重装操作系统;5、如重装系统后仍有问题,则极可能是硬件不兼容所致;6、向商家或周围熟悉电脑的朋友咨询一下也好,或许他们会给予帮助。7、主板原因:由于主板原因引发该故障的概率较内存稍低,一般由于主板原因出现此类故障后,计算机在蓝屏后一般不会死机,而且故障出现频繁,对此唯有更换主板一途。8、cpu原因:由于cpu原因出现此类故障的现象比较少见,一般常见于cyrix的cpu上,对此我们可以降低cpu频率,看能否解决,如若不行,则只有更换一途。2023-07-31 13:18:092
Debugging a HardFault on Cortex-M
Architectures: ARM Component: debugger Updated: 11/24/2020 2:42 PM The purpose of this Technical Note is to show how HardFault errors can be debugged using IAR Embedded Workbench for Arm. HardFault refers to all classes of faults that cannot be handled by any of the other exception mechanisms. Typically, HardFault is used for unrecoverable system failures. Different fault scenarios are described in the examples below. In this example, the CPU clock on a Cortex-M3 board has been set to a very high frequency. This leads to HardFault exceptions at "random" places, at instructions that are normally valid. In the Call Stack window, you can see which line of code that was executed when the HardFault occurred. In the Register window, the NVIC:CFSR (Configurable Fault Status Register) shows that an imprecise data access error has occurred. (BusFault Status Register, BFSR ). IMPRECISERR = 1 = Imprecise data access error has occurred. Because the error is imprecise, it is not possible to see the address of the offending data access. In this specific case, it is very difficult to find the actual reason for the problem, because it has to do with a CPU running at an incorrect frequency. See the screenshot below: This example shows how to catch division by zero errors, by enabling the DIV_0_TRP bit in the CCR register. In the Call Stack window, you can see the source code line where the invalid division occurred. Looking at the Register window, you can see that the NVIC:CFSR flag DIVBYZERO is set. See the screenshot below: [图片上传失败...(image-39bc30-1625723150576)] In this example, invalid memory is accessed. In the Call Stack window, you can see where the illegal access was made. In the Register window, the NVIC:CFSR flags show a PRECISERR . A precise data access error has occurred, and the processor has written the erroneous address to the BFAR register. See the screenshots below: In this example, an invalid function pointer is called. In the Register window, the NVIC:CFSR flags show: UNDEFINSTR = 1 . The processor has attempted to execute an undefined instruction. In the Call Stack window, you can see from where the illegal instruction was called. There are several ways to continue: To make it easier to identify exactly which type of HardFault your application has encountered, there is a View > Fault exception viewer window available in recent versions of IAR Embedded Workbench for Arm. In legacy versions there is a debugger macro file available, located in the installation directory: armconfigdebuggerARMvector_catch.mac Choose View > Macros > Macro Registration to load the macro. When a HardFault is triggered, the macro will produce useful output in the Debug Log window. See the screenshot below: The information in the Register window might look different from the screenshots above, depending on what type of Cortex-M device you are using. Cortex-M0 devices also do not have all the fault status registers available on larger Cortex-M devices. If you have complex code in the fault handlers, it might be a good idea to set a breakpoint early in the handler, so that registers and buffers do not lose any vital information when the execution continues. By setting a breakpoint early, execution will stop immediately when the fault handler is called. The above information does not cover how to use Trace to debug the problem. See our articles on Trace in the Resources section on www.iar.com . You can debug a HardFault using several methods and windows in IAR Embedded Workbench for Arm. To make it easier to find the reason for a HardFault, there is also a Fault exception viewer and debugger macro file available. For more information about faults, see the chapter Fault types in Arm"s Cortex-M3 Devices Generic User Guide .2023-07-31 13:18:171
win7蓝屏 用Windows Debugging Tool分析后如下,大神看看电脑什么原因蓝屏
1.安装debug工具,选择合适的版本安装。2.安装Symbols(特征库)建议可以多安装以免出现分析不出来的情况。3.添加Symbols。4.把Symbols的安装路径添加进去。5.运行解析。6.找到dump文件添加进去。7.DebuggingTools使用说明:debuggingtoolforwindows是DebuggingToolsforWindows是微软排错工具,蓝屏分析工具下面简单说一下电脑蓝屏后,这个排错工具的使用:系统出现蓝屏后重启,在minidump文件夹下会出现一个以日期为文件名的.dmp文件,这就是我们要分析的文件。接下来点击“开始菜单→程序→Debuggingtoolsforwindows(x86)-WinDbg”,打开WinDbg程序,点击程序窗口的“File→OpenCrashDump”,打开位于系统盘的C:Windowsminidump文件夹下的以日期为文件名的.dmp文件.打开后程序就开始自动分析文件了,分析完后,看最下面,找到“Probablycausedby”这一行,其后面的给出的信息就是引起蓝屏的罪魁祸首。2023-07-31 13:18:273
GDB调试出现no debugging symbols found
有一个工程文件夹project,下面有三个文件a.c, a.h, main.c,其中main.c依赖a.h 如果Makefile是如下所示: 编译得到可执行文件后,#gdb main,会提示:no debugging symbols found 需要在编译时增加-g选项,此时的Makefile内容是: 问题可以解决了2023-07-31 13:18:361
VS2013调试时出现Unable to Start Debugging on the Web Server,如何处理?
增加你的tomcat的timeout时间。 1 如果是eclipse自带的则修改 workspace.metadata.pluginsorg.eclipse.wst.server.coreservers.xml文件。 把 start-timeout="45" 改为 start-timeout="1000" 或者更长 重启eclipse就可以了。2023-07-31 13:18:441
vc2005调试应用程序时弹出"unable to start debugging"怎么办
每一个按钮的响应函数里都应该是先连接数据库,退出前断开与数据库的连接或者在对话框初始化的时候连接数据库,关闭之前再断开,这样就不用中途连接数据库了2023-07-31 13:19:101
如何解决 "Unable to start debugging
Unable to start debugging 无法启动调试重点词汇释义Unable to不能debugging调试; 拆除窃听器( debug的现在分词 ); 排除故障2023-07-31 13:19:271
帮忙看一下用Debugging Tools for Windows (x86)分析出来的蓝屏代码信息 我电脑是哪里有问题
你的debug tools用错了,根本就没有分析出有用的结果来。2023-07-31 13:19:383
debugging tools 显示Probably caused by : hardware ( nt+9c76c ) 是什么引起的蓝屏 win8 64位 ?
很高兴为您解答:i引起蓝屏的原因有很多的啊1。电脑中存有病毒(打开腾讯电脑管家一杀毒一扫描查杀)如果杀到木马或病毒后,应立即重启, 重启电脑后,来到“隔离|恢复”,彻底删除,木马和病毒!2。电脑中下载的软件有冲突,不兼容,(腾讯电脑管家,软件卸载,找到卸载,再:强力清扫)!比如:播放器重复或有相似的,杀毒,浏览器,游戏,输入法有同类多余的,卸载多余的,只留一款!3。电脑系统有顽固的病毒和木马或蠕虫干扰,或者丢失了系统文件(腾讯电脑管家的顽固木马查杀,打开腾讯电脑管家一工具箱一顽固木马查杀)4。软件需要更新,(腾讯电脑管家,软件升级,下载,覆盖安装,winrar可以不升)5。系统有新的漏洞等待安装,(打开腾讯电脑管家一漏洞修复一扫描修复)6。显卡或内存cpu,或风扇的接触不良和松动或有灰尘覆盖,(拔下橡皮擦擦)7。内存cpu过热,散热性不好!(开机时间不要太长,关机散热)祝楼主工作顺利、生活愉快!!2023-07-31 13:19:461
h3c交换机清空配置命令
h3c交换机清空配置命令 H3C CAS云计算管理平台融合了华三通信在网络安全领域的积累,通过对IEEE 802.1Qbg(EVB)标准的支持,为虚拟机在安全、可视、可监管的环境下运行奠定了基础。下面是我收集的h3c交换机清空配置命令,希望大家认真阅读! 一.用户配置: system-view [H3C]super password H3C 设置用户分级密码 [H3C]undo super password 删除用户分级密码 [H3C]localuser bigheap 123456 1 Web网管用户设置,1(缺省)为管理级用户,缺省admin,admin [H3C]undo localuser bigheap 删除Web网管用户 [H3C]user-interface aux 0 只支持0 [H3C-Aux]idle-timeout 2 50 设置超时为2分50秒,若为0则表示不超时,默认为5分钟 [H3C-Aux]undo idle-timeout 恢复默认值 [H3C]user-interface vty 0 只支持0和1 [H3C-vty]idle-timeout 2 50 设置超时为2分50秒,若为0则表示不超时,默认为5分钟 [H3C-vty]undo idle-timeout 恢复默认值 [H3C-vty]set authentication password 123456 设置telnet密码,必须设置 [H3C-vty]undo set authentication password 取消密码 [H3C]display users 显示用户 [H3C]display user-interface 显示用户界面状态 二.系统IP配置: [H3C]vlan 20 [H3C]management-vlan 20 [H3C]interface vlan-interface 20 创建并进入管理VLAN [H3C]undo interface vlan-interface 20 删除管理VLAN接口 [H3C-Vlan-interface20]ip address 192.168.1.2 255.255.255.0 配置管理VLAN接口静态IP地址(缺省为192.168.0.234) [H3C-Vlan-interface20]undo ip address 删除IP地址 [H3C-Vlan-interface20]ip gateway 192.168.1.1 指定缺省网关(默认无网关地址) [H3C-Vlan-interface20]undo ip gateway [H3C-Vlan-interface20]shutdown 关闭接口 [H3C-Vlan-interface20]undo shutdown 开启 [H3C]display ip 显示管理VLAN接口IP的相关信息 [H3C]display interface vlan-interface 20 查看管理VLAN的接口信息 debugging ip 开启IP调试功能 undo debugging ip 三.DHCP客户端配置: [H3C-Vlan-interface20]ip address dhcp-alloc 管理VLAN接口通过DHCP方式获取IP地址 [H3C-Vlan-interface20]undo ip address dhcp-alloc 取消 [H3C]display dhcp 显示DHCP客户信息 debugging dhcp-alloc 开启DHCP调试功能 undo debugging dhcp-alloc 四.端口配置: [H3C]interface Ethernet0/3 [H3C-Ethernet0/3]shutdown [H3C-Ethernet0/3]speed 100 速率,可为10,100,1000和auto(缺省) [H3C-Ethernet0/3]duplex full 双工,可为half,full和auto(缺省) 光口和汇聚后不能配置 [H3C-Ethernet0/3]flow-control 开启流控,默认为关闭 [H3C-Ethernet0/3]broadcast-suppression 20 设置抑制广播百分比为20%,可取5,10,20,100,缺省为100,同时组播和未知单播也受此影响 [H3C-Ethernet0/3]loopback internal 内环测试 [H3C-Ethernet0/3]loopback external 外环测试,需插接自环头,必须为全双工或者自协商模式 [H3C-Ethernet0/3]port link-type trunk 设置链路的类型为trunk,可为access(缺省),trunk [H3C-Ethernet0/3]port trunk pvid vlan 20 设置20为该trunk的缺省VLAN,默认为1 (trunk线路两端的PVID必须一致) [H3C-Ethernet0/3]port access vlan 20 将当前access端口加入指定的VLAN [H3C-Ethernet0/3]port trunk permit vlan all 允许所有的VLAN通过当前的trunk端口,可多次使用该命令 [H3C-Ethernet0/3]mdi auto 设置以太端口为自动监测,normal(缺省)为直通线,across为交叉线 [H3C]link-aggregation Ethernet 0/1 to Ethernet 0/4 将1-4口加入汇聚组,1为主端口,两端需要同时配置,设置了端口镜像以及端口隔离的端口无法汇聚 [H3C]undo link-aggregation Ethernet 0/1 删除该汇聚组 [H3C]link-aggregation mode egress 配置端口汇聚模式为根据目的MAC地址进行负荷分担,可选为 ingress,egress和both,缺省为both [H3C]monitor-port Ethernet 0/2 将该端口设置为镜像端口,必须先设置镜像端口,删除时必须先删除被镜像端口,而且它们不能同在一个端口,该端口不能在汇聚组中,设置新镜像端口时,新取代旧,被镜像不变 [H3C]mirroring-port Ethernet 0/3 to Ethernet 0/4 both 将端口3和4设置为被镜像端口,both为同时监控接收和发送的报文,inbound表示仅监控接收的报文,outbound表示仅监控发送的报文 [H3C]display mirror [H3C]display interface Ethernet 0/3 reset counters 清除所有端口的统计信息 [H3C]display link-aggregation Ethernet 0/3 显示端口汇聚信息 [H3C-Ethernet0/3]virtual-cable-test 诊断该端口的电路状况 五.VLAN配置: [H3C]vlan 2 [H3C]undo vlan all 删除除缺省VLAN外的所有VLAN,缺省VLAN不能被删除 [H3C-vlan2]port Ethernet 0/4 to Ethernet 0/7 将4到7号端口加入到VLAN2中,此命令只能用来加access端口,不能用来增加trunk或者hybrid端口 [H3C-vlan2]port-isolate enable 打开VLAN内端口隔离特性,不能二层转发,默认不启用该功能 [H3C-Ethernet0/4]port-isolate uplink-port vlan 2 设置4为VLAN2的隔离上行端口,用于转发二层数据,只能配置一个上行端口,若为trunk,则建议允许所有VLAN通过,隔离不能与汇聚同时配置 [H3C]display vlan all 显示所有VLAN的详细信息 S1550E支持基于端口的VLAN,通过创建不同的user-group来实现,一个端口可以属于多个user-group,不属于同一个user-group的端口不能互相通信,最多支持50个user-group [H3C]user-group 20 创建user-group 20,默认只存在user-group 1 [H3C-UserGroup20]port Ethernet 0/4 to Ethernet 0/7 将4到7号端口加入到VLAN20中,初始时都属于user-group 1中 [H3C]display user-group 20 显示user-group 20的相关信息 六.集群配置: S2100只能作为成员交换机加入集群中,加入后系统名改为"集群名_成员编号.原系统名"的格式. 即插即用功能通过两个功能实现: 集群管理协议MAC组播地址协商和管理VLAN协商 [H3C]cluster enable 启用群集功能,缺省为启用 [H3C]cluster 进入群集视图 [H3C-cluster]administrator-address H-H-H name switch H-H-H为命令交换机的MAC,加入switch集群 [switch_1.H3C-cluster]undo administrator-address 退出集群 [H3C]display cluster 显示集群信息 [H3C]management-vlan 2 集群报文只能在管理VLAN中转发,同一集群需在同一个管理VLAN中,需在建立集群之前指定管理VLAN debugging cluster 七.QoS配置: QoS配置步骤:设置端口的优先级,设置交换机信任报文的优先级方式,队列调度,端口限速 [H3C-Ethernet0/3]priority 7 设置端口优先级为7,默认为0 [H3C]priority-trust cos 设置交换机信任报文的优先级方式为cos(802.1p优先级,缺省值),还可以设为dscp方式(dscp优先级方式) [H3C]queue-scheduler hq-wrr 2 4 6 8 设置队列调度算法为HQ-WRR(默认为WRR),权重为2,4,6,8 [H3C-Ethernet0/3]line-rate inbound 29 将端口进口速率限制为2Mbps,取1-28时,速率为rate*8*1024/125,即64,128,192...1.792M;29-127时,速率为(rate-27)*1024,即2M,3M,4M...100M,千兆时可继续往下取,128-240时,速率为(rate-115)*8*1024,即104M,112M,120M...1000M [H3C]display queue-scheduler 显示队列调度模式及参数 [H3C]display priority-trust 显示优先级信任模式 八.系统管理: [H3C]mac-address blackhole H-H-H vlan 1 在VLAN1中添加黑洞MAC [H3C]mac-address static H-H-H interface Ethernet 0/1 vlan 1 在VLAN1中添加端口一的一个mac [H3C]mac-address timer aging 500 设置MAC地址表的老化时间为500s [H3C]display mac-address [H3C]display arp [H3C]mac-address port-binding H-H-H interface Ethernet 0/1 vlan 1 配置端口邦定 [H3C]display mac-address port-binding [H3C]display saved-configuration [H3C]display current-configuration save [H3C]restore default 恢复交换机出厂默认配置,恢复后需重启才能生效 [H3C]display version reboot [H3C]display device [H3C]sysname bigheap [H3C]info-center enable 启用系统日志功能,缺省情况下启用 [H3C]info-center loghost ip 192.168.0.3 向指定日志主机(只能为UNIX或LINUX,不能为Windows)输出信息,需先开启日志功能,缺省关闭 [H3C]info-center loghost level 8 设置系统日志级别为8,默认为5.级别说明:1.emergencies 2.alerts 3.critical 4.errors 5.warnings 6.notifications 7.informational 8.debugging terminal debugging 启用控制台对调试信息的显示,缺省控制台为禁用 terminal logging 启用控制台对日志信息的显示,缺省控制台为启用 terminal trapping 启用控制台对告警信息的显示,缺省控制台为启用 [H3C]display info-center 显示系统日志的配置和缓冲区记录的信息 [H3C]display logbuffer 显示日志缓冲区最近记录的指定数目的日志信息 [H3C]display trapbuffer 显示告警缓冲区最近记录的指定数目的日志信息 reset logbuffer 清除日志缓冲区的信息 reset trapbuffer 清除告警缓冲区的信息 九.网络协议配置: NDP即是邻居发现协议,S1550E只能开启或关闭NDP,无法配置,默认有效保留时间为180s,NDP报文发送的间隔60s [H3C]ndp enable 缺省情况下是开启的 [H3C-Ethernet0/3]ndp enable 缺省情况下开启 [H3C]display ndp 显示NDP配置信息 [H3C]display ndp interface Ethernet 0/1 显示指定端口NDP发现的邻居信息 debugging ndp interface Ethernet 0/1 HABP协议即Huawei Authentication Bypass Protocol,华为鉴权旁路协议,是用来解决当交换机上同时配置了802.1x和HGMPv1/v2时,未经授权和认证的端口上将过滤HGMP报文,从而使管理设备无法管理下挂的`交换机的问题。交换机启动HABP后,将忽略802.1x认证。 HABP包括服务器和客户端,由服务器定期发送请求,客户端进行应答,并向下进行转发,服务器一般启动在管理设备上,客户机在下挂设备上启动,1550E只支持客户端。 [H3C]habp enable 启动HABP特性,缺省即启动,启动后即缺省为客户机模式 debugging habp 启动HABP调试功能 NTDP即邻居拓扑发现协议,用来收集网络拓扑信息的协议,与NDP协议一起工作,用于集群管理,S1550E的配置主要包括开启与关闭功能能,开启与关闭调试功能 [H3C]ntdp enable 缺省情况下为开启的 [H3C-Ethernet0/3]ntdp enable 缺省情况下为使能 debugging ntdp 十.SNMP配置: S1550E支持SNMPv1,SNMPv2c,主要配置包括:设置团体名,设置系统信息,设置Trap目标主机的地址,允许或禁止发送Trap,禁止SNMP Agent的运行 [H3C]snmp-agent community read bigheap 设置bigheap团体,且为只读访问 [H3C]snmp-agent max-size 1600 设置Agent能接受/发送的SNMP消息包最大为1600字节,缺省1500 [H3C]snmp-agent sys-info contact #27345 location Diqiu version v2c 设置系统信息,版本为v2c,缺省情况下联系信息为"R&D Hangzhou, H3C Technologies co.,Ltd.",位置为"Hangzhou China",v2c版本 [H3C]undo snmp-agent 禁止SNMP Agent的运行,若配置任何SNMP命令将重新启动SNMP Agent [H3C]display snmp-agent community read [H3C]display snmp-agent sys-info contact [H3C]display snmp-agent sys-info location [H3C]display snmp-agent sys-info version debugging snmp-agent packet|process 十一.IGMP Snooping配置: IGMP Snooping是运行在二层交换机上的组播约束机制,用于管理和控制组播组.主要负责建立和维护二层MAC地址表,同时根据建立的组播地址表来转发路由器下发的组播报文,如果不运行IGMP Snooping,则组播报文将在二层网络中广播 IGMP Snooping配置包括:启动和关闭IGMP Snooping,配置路由器端口老化时间,配置最大响应查询时间,配置组播组成员端口老化时间,配置端口快速离开,调试功能 [H3C]igmp-snooping 启用IGMP Snooping功能,默认为关闭 [H3C]igmp-snooping router-aging-time 500 配置路由器端口老化时间为500s,默认为105s [H3C]igmp-snooping max-response-time 15 配置最大响应查询时间为15s,默认为10s [H3C]igmp-snooping host-aging-time 300 配置组播组成员端口老化时间为300s,默认为260s [H3C-Ethernet0/3]igmp-snooping fast-leave 配置快速离开,若收到离开报文,则立即删除端口,不询问 [H3C]display igmp-snooping configuration 显示配置信息 [H3C]display igmp-snooping statistics 显示包统计信息 [H3C]display igmp-snooping group vlan 2 显示VLAN2中IP组播组和MAC组播组的信息 reset igmp-snooping statistics 清楚统计信息 debugging igmp-snooping 十二.系统调试: debugging all 开启所有调试开关,此命令为协议调试开关 terminal debugging 终端调试开关,打开开关,默认为关闭 debugging drv 主要显示报文的实际内容,默认为关闭 [H3C]display debugging 显示调试开关状态 十三.802.1x配置: [H3C-Ethernet0/3]dot1x 开启802.1x特性,也可在系统视图下使用,使用后全局开启,也可用 interface参数开启指定端口的802.1x特性,缺省全关闭,要启用802.1x,全局和端口的都需开启 [H3C-Ethernet0/3]dot1x port-control unauthorized-force 设置工作模式为强制非授权模式,使用 模式与dot1x命令相同,默认为auto,即通过了认证才可以访问,还有authorized-force,为强制授权 模式,允许用户访问 [H3C-Ethernet0/3]dot1x port-method portbased 设置接入控制方式为基于端口的,使用模式与 dot1x命令相同,默认为macbase,基于MAC地址的 [H3C-Ethernet0/3]dot1x max-user 10 设置端口接入用户的数量最大为10个,使用模式与dot1x命令 相同,默认为128,取值范围为1-128 [H3C]dot1x authentication-method eap 设置802.1x的用户认证方法为EAP,即EAP中继,直接用EAP报 文发送到服务器,需服务器支持 [H3C-Ethernet0/3]dot1x re-authenticate 开启802.1x重认证功能使交换机以一定时间间隔周期性 的进行认证,使用模式同dot1x命令,缺省情况下所有端口该特性都关闭 [H3C]dot1x timer handshake-period 20 reauth-period 7200 quiet-period 30 tx-period 20 supp- timeout 20 server-timeout 200 设置802.1x认证的定时器,handshake-period为认证成功后, 系统以此间隔为周期发送握手请求报文(相当于keepalive消息发送间隔),1-1024s,默认15s. reauth-period为重认证超时定时器,1-86400s,默认3600s. quiet-period为用户认证失败后,Autheticator的静默定时器,静默后再处理认证,10-120s,默认60s. tx-period为传送超时定时器,Supplicant未成功发送认证应答报文,则重发认证请求,10-120s,默认 为30s. supp-timeout为认证超时定时器,Supplicant未成功响应,则重发认证请求,10-120s,默认30s. server-timeout为服务器未成功响应的超时定时器,100-300s,默认100s. reset dot1x statistics 清除802.1x统计信息 [H3C]display dot1x statistics 显示802.1x的配置,运行情况和统计信息 debugging dot1x 打开802.1x的相关模块的调试信息 十四.RADIUS配置: [H3C]radius scheme system 进入system方案,其各项值为缺省值,1550E只支持默认方案 [H3C-radius-system]primary authentication 10.110.1.1 1812 设置RADIUS服务器地址和UDP端口 号,默认情况下,system方案中服务器IP地址为空,UDP端口号为1812 [H3C-radius-system]key authentication 123 指示RADIUS加密共享密钥为123,默认无共享密钥 [H3C-radius-system]timer 10 设置RADIUS服务器响应超时定时器,1-10s,默认为5s [H3C-radius-system]retry 10 设置RADIUS服务器最大响应重试次数为10,1-20次,默认为5次 [H3C]display radius 显示radius方案信息 debugging radius packet 打开radius报文调试开关 ;2023-07-31 13:19:561
qml debugging is enabled,only use this in a safe environment,什么意思
qml debugging is enabled,only use this in a safe environmentQML调试启用,只使用在一个安全的环境2023-07-31 13:20:062
JIT 调试
我是LZ,来补充一下例如: <configuration><system.windows.forms jitDebugging="true" /></configuration>启用 JIT 调试后,任何无法处理的异常都将被发送到在此计算机上注册的 JIT 调试器,而不是由此对话框处理。这东西是为了准备高考额~望各位大大伸出援手重装系统什么的就不要来答了,谢谢2023-07-31 13:20:141
如何卸载Debugging+Tools
你好朋友你可以打开360软件管家里的软件卸载 ,在里边找到它后卸载就可以了2023-07-31 13:20:341
Tomcat怎样用Debug模式启动?
tomcat debug参数关键字: debug 一般调试一个web项目的java代码时,需要将你的tomcat服务器和你的开发工具(比如Jbuilder)集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),这些方式都是在本地进行,即你的开发工具和tomcat运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远程调试功能了。实现方法:在tomcat的catalina.bat文件中加入下面的设置,当然SET CATALINA_OPTS 变量应该在使用它之前。这是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能,address=5888表示远程连接的端口号,可以设置成任意其他不冲突端口。其他的应用服务器比如weblogic也应该可以设置这些参数,有兴趣的可以测试。SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888 这样就Ok了,重启动tomcat,可以直接独立启动,而不用在eclipes的插件中启动。打开eclipse中的debug设置窗口,选择Remote Java Application ,新建一个debug项,输入服务器IP和刚才设置端口号,点ok就可以进入debug状态了。Jbuilder中同样可以设置Remote Java Application 来源:http://wangzhongjie.javaeye.com/blog/1454722023-07-31 13:20:455
reset target MCU error!Stop debugging
代码程序中断导致的。这句话意思为复位目标单片机错误,停止调试。造成复位目标单片机错误的原因是代码程序中断,造成SPI时序延迟,导致复位失败。2023-07-31 13:21:241