在命令行中可以使用jdb命令来进行类的调试: 类Hello.java如下: class Hello{ public static void main(String[] args){...System.out.println("输出100/0的结果:"); System.out.println(100/0); } } 在类目录下使用 javac Hello.java 命令编译该类生成字节码文件...; 使用 jdb 命令开启调试 使用 run 命令运行java类: D:\java_basic_note>jdb Hello 正在初始化jdb... > run 运行Hello 设置未捕获的java.lang.Throwable...java.lang.ArithmeticException (未捕获)"线程=main", Hello.main(), 行=4 bci=14 4 System.out.println(100/0); 通过输出信息我们可以看到调试结果
gdb调试 复习并整理gdb 1. 调试准备 被调试的程序需要生成调试符号信息,即在gcc/g++编译时加上-g选项。...启动gdb调试的方法 直接调试目标程序 gdb filename # filename为要启动的调试程序名称 attach到进程 gdb attach pid #attach到pid对应的进程 调试core...4. gdb调试多线程程序 4.1 调试多线程程序的方法 先gdb让程序跑起来,然后Ctrl+C中断程序,使用Info threads命令查看当前进程下有多少线程在运行。...set scheduler-locking step当且仅当使用next或step命令做单步调试时会锁定当前线程,如果使用until,finish,return等线程内调试命令(它们不是单步控制命令),...5. gdb调试多进程程序 5.1 方法一 先在一个shell窗口中调试父进程,等待子进程被fork出来后,再开启另外一个shell窗口使用gdb attach命令将gdb attach到子进程上。
/0/0 Received: 2 Sent: 1 Connections: 1 Outstanding: 0 Zxid: 0x0 Mode: follower Node count: 4 如果没有nc命令的话...utm_source=tuicool&utm_medium=referral 这哥们挺坎坷的 调试方法: tail -500f $dataLogDir/zookeeper.out 或者以输出日志方式启动...: ZooKeeper 支持某些特定的四字命令字母与其的交互。...它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。...7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
一、gdb调试容器或者智能指针的内容 有时候我们需要debug一些core文件或者程序,但是如果遇到STL容器,p打印出的是一些红黑树或者原始的数据机构,这给我们调试带来不必要的麻烦。...顺带说下,在~/.gdbinit可以放入你常用的一些gdb设置命令。...还有一个比较有用的是保存gdb调试历史,set history save on 一个相关的命令是set history remove-duplicates ....该命令是“控制删除命令历史列表中重复的历史条目。如果计数不为零,gdb 将回顾最后计数的历史条目并删除与当前条目重复的第一个条目。添加到命令历史列表中。如果计数是无限制的,那么此后视是无界的。...如果希望命令历史记录不依赖于所在的目录,需要包含: set history filename ~/.gdb_history
在编写shell脚本时,调试是个比较麻烦的事,特别是涉及到多层管道命令的时候,会产生多个中间结果,tee命令的作用是从标准输入中读取数据写入标准输出或文件中,利用它可以从管道中读取中间结果并写入本地临时文件中...144392 为了和 game_log1 进程实际的进程ID对比,我们单独执行 ps -ef | grep -w game9_log1 | grep -v grep | awk '{print $2}' 命令...,确得到了不同的结果,我们在脚本中加入 tee 命令输出管道的中间结果,调整之后的的脚本如下: processid() { ipid=$(ps -ef | grep -w $1 | tee out1...localhost ~]$ cat out3 130530 从上面的测试结果中看出,最后输出的结果是正确的 总结 多层管道在shell脚本中是很常见的用法,使用起来也非常方便和高效的,但是脚本一旦出问题调试就会变得困难起来...,合理的使用 tee 命令输出管道的中间结果,可以快速的定位问题所在
现在我们切入主题,在我们平时开发接口完成后,需要上线联调接口,而接口往往和业务逻辑精密联系,想要调试接口,就需要将业务测一遍,那么有没有更好的办法使得调试更简单?...在这篇文章中,我将常用的接口分为两类: 第一类:自己开发服务于自己系统的接口,该类接口调试可以在本地使用postman工具调试; 第二类:不是自己开发,调用别人能力接口服务于自己的系统,该类接口我们就可以使用...curl命令调试。...二.案例讲解 由于我们平时遇到接口请求都是post请求,所以接下来我们以post请求为例,分别探讨http协议和https协议两种情况下如何通过curl命令来调试接口; 1.http协议 curl -v...接下来,我们来分析以下这个命令: -v:显示版本信息 -X:指定请求方式 -H:指定请求头(可校验调用方是否有权限,通过判断请求头信息,如果有规定的请求头信息,则允许调用,否则拒绝调用) -d :请求报文
常用LLDB命令 LLDB调试模式开启:首先在需要调试的代码处设置断点,当程序走到断点时,就能在控制台区看到我们已经进入LLDB模式了,如下图所示: ?...在LLDB模式下,根据需要输入相关的LLDB调试命令既可进行代码调试,下面小编将给大家介绍几款常用的LLDB命令。 1.打印 打印是代码调试中最常用的命令,相关的命令有:p和po。...2.expression 修改参数值 expression命令是调试过程中最有价值有命令了,既可以打印值也可以修改值。...6.帮助命令 1) help 可以列出所有可以用于调试代码的命令及功能说明,如下图: ?...结束语 本文小编分享了测试工作中iOS代码调试之常用的几类LLDB命令,如果需要用到其他的LLDB命令可以随时借助help命令进行查询其用法,当然iOS代码调试除了LLDB命令之外,还可以进行断点调试
GDB 常用命令列表 命令名称 命令缩写 命令说明 run r 运行一个程序 continue c 让暂停的程序继续运行 next n 运行到下一行 step s 如果有调用函数,进入调用的函数内部,相当于...监视某一个变量或内存地址的值是否发生变化 list l 显示源码 info info 查看断点 / 线程等信息 ptype ptype 查看变量类型 disassemble dis 查看汇编代码 set args 设置程序启动命令行参数...show args 查看设置的命令行参数 扩充: gcc 常用选项 选项 选项说明 -v 查看gcc版本号 -I (大写 i ) 指定头文件目录,注意-I和目录之间没有空格 -c 只编译,生成.o...文件,不进行链接 -o 输出成指定文件名 -g 包含调试信息 -On n=0∼3 编译优化,n越大优化得越多 -Wall 提示更多警告信息 -E 生成预处理文件 -M 生成.c文件与头文件依赖关系以用于
通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 首先需要以下两个文件: strace-4.5.15.tar.bz2 ...arm-linux-gcc //配置configure #make //生成strace命令文件... 然后将strace命令文件,放入我们开发板的根目录/bin中,便能使用了 #cp strace /nfs_root/bin/ //nfs_root:开发板的nfs系统根目录...3.strace命令使用 常用参数如下所示: -o 指定跟踪信息的输出文件 -t 记录跟踪信息的时间,以S为单位 -tt 记录跟踪信息的时间,以uS为单位 4.实例 通过strace来测试
通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 首先需要以下两个文件: strace-4.5.15.tar.bz2 ...arm-linux-gcc //配置configure #make //生成strace命令文件...然后将strace命令文件,放入我们开发板的根目录/bin中,便能使用了 #cp strace /nfs_root/bin/ //nfs_root:开发板的nfs系统根目录 3....strace命令使用 常用参数如下所示: -o 指定跟踪信息的输出文件 -t 记录跟踪信息的时间,以S为单位 -tt 记录跟踪信息的时间,以uS为单位 4.实例 通过
首先,liunx系统下得有nasm命令,没有可以安装,接下来把写好的.asm汇编代码编译成二进制文件。...nasm xxx.asm -o xxx.bin 接下来切换成df硬盘,使用bximage的命令创建一个硬盘,可以设置硬盘的名称和硬盘的大小,因为软盘已经过时了。...修改对应的bochsrc文件: 启动状态为硬盘启动 接下来把写好的二进制文件写入硬盘,硬盘通电就可以执行相关的代码了,命令如下: dd -if=xxx.bin of=xxx.xxx(磁盘名称...) bs=xxx(写入多大内存) count=1 conv=notrunc(不要截断磁盘,没有写够的磁盘继续占空间) 最后在相应目录文件下执行bochs -q即可进入界面化调试环境
设备的状态有 3 钟,device , offline , unknown device:设备正常连接 offline:连接出现异常,设备无响应 unkn...
用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法。...呵呵,有时迷茫了自己处在什么堆栈的深处,这是使用where命令能够清晰的看到自己的位置,有时在循环太多让人受不了了,可使用u或者finish或者jump命令来跳出去。...和 汇编 i) u 内存单位(b: 1字节; h: 2字节; w: 4字节; g: 8字节) set vairiable a = 100 可以修改变量的值 commands 指定到了特定断点后执行的命令序列....gbinit gdb会从这个文件读取配置 cat ~/.gdb_history 呵呵,对于gdb时想要查看长的字符串老是显示不全,怎么半呢,gdb参看数组字符串时默认只是显示部分的数据,通过这个命令可以修改...: set print elements 0 默认这里设置是200,设置为0表示没有限制 还有其它一些set命令可以试试: set print address set print address
Windbg是Microsoft公司免费调试器调试集合中的GUI的调试器,支持Source和Assembly两种模式的调试。Windbg不仅可以调试应用程序,还可以进行Kernel Debug。...*Load* // 列出kernel32模块中所有含Load字样的符号 进程与线程操作 | // 列出调试进程 !...向高地址方向搜索符号(注:函数是符号的一种) dds 02a9ffec // 从02a9ffec地址处,向高地址方向搜索符号(注:函数是符号的一种) dds // 执行完dds 02a9ffec后,可通过dds命令继续进行搜索...heap -a 00140000 // 选取一个堆的地址,打印该堆的信息,比上面打印内存命令更详细直观 其他命令 dt ntdll!...*file* # 下面命令将列出ntdll导出的文件操作相关的函数名 dt _FILE_INFORMATION_CLASS 查看一个结构定义 dt ntdll!
backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值...列出从第几行开始的源代码 list 函数名 列出某个函数的源代码 next(或n) 执行下一行语句 print(或p) 打印表达式的值,通过表达式可以修改变量的值或者调用函数 quit(或q) 退出gdb调试环境...set var 修改变量的值 start 开始执行程序,停在main函数第一行语句前面等待命令 step(或s) 执行下一行语句,如果有函数调用则进入到函数中
journalctl命令主要开始承担了查看日志还有一些日志的配置功能,经常需要用到这个命名去查看日志和设置日志的一些参数。...(这个就先忽略了) 关于 journalctl 命令: 格式: journalctl + 参数 #日志的查看 具体参数的含义: -p err #查看报错日志...关于日志的级别 debug #系统调试信息,日志信息最多 info #常规信息,最常用 notice #最具有重要性的普通条件的信息
总结:上面已经将phy的状态设置成了 phydev->state = PHY_READY,同时完成了emac接口下的phy设备驱动注册,接下来将分析如何使用该p...
注意:因为Console 对象提供对浏览器控制台的接入 所以在不同浏览器中的支持及表现形式可能不太一样,但是调试内容只有我们开发者会看,所以保证开发环境能用这些方法就可以了,下面演示全部都为Chrome...追踪调用堆栈 使用Console.trace()来追踪函数被调用的过程,在复杂项目时调用过程非常多,用这个命令来帮你缕清。...性能分析 使用Console.profile()和Console.profile()进行性能分析,查看代码各部分运行消耗的时间,但是我在Chrome自带的调试工具中并没有找到在哪里查看这两个方法生成的分析报告...应该需要其他的调试工具。...总结 Console的用法很多,有些再调试过程中非常实用,可以节省很多时间。当然我知道debug还是用断点调试的方法比较好,但是小问题用“printf大法”也是很好用的(滑稽脸)。
前言 Linux常用命令中有一些命令可以在开发或调试过程中起到很好的帮助作用,有些可以帮助了解或优化我们的程序,有些可以帮我们定位疑难问题。本文将简单介绍一下这些命令。...cmdTest的类型为elf,是64位、运行于x86-64的程序,not striped表明elf文件中还保留着符号信息以及调试信息等不影响程序运行的内容。...但是要特别注意的是,“瘦身”之后的elf文件由于没有了符号信息,许多调试命令将无法正常使用,出现core dump时,问题也较难定位,因此只建议在正式发布时对其进行“瘦身”。...--gdb gdb是一个强大的调试工具,但这里仅介绍两个简单使用示例。...有时候程序可能已经正在运行,但是又不能终止它,这时候仍然可以使用gdb调试正在运行的进程: gdb processFile PID #processFile为进程文件,pid为进程id,可通过ps命令查找到
公司如果分项目组开发的,各个项目组调用各项目组的接口,有时候需要在联调环境调试对方的接口,可以直接telnet到dubbo的服务通过命令查看已经布的接口和方法,并能直接invoke具体的方法,我们可以利用...telnet命令进行调试、管理。...Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我通过实例抛砖引玉一下: 1....连接服务 测试对应IP和端口下的dubbo服务是否连通,cmd命令如下 telnetlocalhost 20880 正常情况下,进入telnet窗口,键入回车进入dubbo命令模式。...参考资料: Telnet命令参考手册: http://alibaba.github.io/dubbo-doc-static/Telnet+Command+Reference-zh-showComments
领取专属 10元无门槛券
手把手带您无忧上云