程序调试

Node.JS实战46:断言,调试和测试必备。

荒凉一梦 提交于 2020-01-18 18:57:48
assert模块,即断言,是Node的内置模块。 常用于程序调试、单元测试,也可用于实现错误处理逻辑。 且看其最常见用法: assert.equal() equal方法接受三个参数,第一个参数是实际值,第二个是预期值,第三个是错误的提示信息。 例程: var assert = require('assert'); function add (a, b) { return a + b; } var expected = add(1,2); assert.equal(expected, 3, '预期1+2等于3'); 此时执行,assert.equal()的第一和第二个参数值相等,也就是比较第一和第二个参数的结果为true,这时不会有输出。 如果稍做修改: 执行时便会得到一个断言错误,错误消息是代码中我们设定的错误提示: 但同时还输出了多余的内容,并使程序异常退出了。 为了让程序更优雅,再对代码稍做修改: var assert = require('assert'); function add (a, b) { return a + b; } var expected = add(1,2); //assert.equal(expected, 4, '预期1+2等于3'); try{ assert.equal(expected, 4, '预期1+2等于3'); }catch(e){

配置 VS Code 调试 JavaScript

只谈情不闲聊 提交于 2020-01-18 03:59:00
配置 VS Code 调试 JavaScript 1、 安装 Debugger for Chrome 扩展、Open in Browser 扩展、View In Browser 扩展 2、新建文件夹 html 3、用VS Code 打开文件夹 html 4、新建 “Index.html”,内容如下: <html> <head> <script language="javascript" type="text/javascript"> function test(obj){ with(obj){ var idReg = /^\d{15}$|^\d{18}$|^\d{17}[xX]$/; var postReg = /^\d{6}$/; if(!idcard.value.match(idReg)){ alert("身份证号不合法"); return false; } if(!postal.value.match(postReg)){ alert("邮编不合法"); return false; } return true; } } </script> </head> <body> 用户详细信息:<br/> <form onsubmit="return test(this)"> 邮政编码:<input type="text" name="postal"/><br/> 身份证号:<input

intellij远程调试docker环境

百般思念 提交于 2020-01-18 02:38:35
背景 intellij idea远程运行docker, 可以节约单机内存,但是在开发过程中,光运行是不够的。为了实现远程debug docker场景。 前提 需要能远程运行docker,可以看上一篇文章 远程运行docker 配置Configurations 配置Remote ## 运行调试(与单机一样) 在程序中打好断点 点击调试按钮 来源: CSDN 作者: 我也许 链接: https://blog.csdn.net/chenkezhenzhe/article/details/103905325

Vue安装Vue Devtools调试工具提示 Error: Cannot find module '@vue-devtools/build-tools' 解决办法

孤人 提交于 2020-01-16 05:28:57
我看网络上面安装Vue Devtools 调试工具的步骤几乎都是按照文章链接里的步骤进行安装: 安装链接详情 但是在最终执行编译命令的时候 : npm run build ,提示如下错误: 尝试了很多方法,都不能解决改问题。 为了能够在谷歌浏览器上安装vue调试工具,通过下面步骤最终把Vue的调试工具安装成功。 步骤一: 访问该地址: vue调试工具插件 ,下载vue调试工具插件。直接点击推荐下载,相关文件就会下载下来。 步骤二: 将下载的文件进行解压,解压完之后,文件内容如下: 打开谷歌浏览器,点击右上角 ==》选择更多工具按钮 ==》选择扩展程序 然后将之前解压的 Vue.js Devtools_5.3.3_chrome.zzzmh.cn.crx 文件拖拽到扩展程序界面,按照对应提示点击确认即可。 备注:如果文件下载失败,可以到这边下载对应文件 https://download.csdn.net/download/yizufengdou/12103493 来源: CSDN 作者: 一条梦想会飞的鱼 链接: https://blog.csdn.net/yizufengdou/article/details/103985709

idea debug调试快捷键

我与影子孤独终老i 提交于 2020-01-16 05:08:03
F9 resume programe 恢复程序 Alt+F10 show execution point 显示执行断点 F8 Step Over 相当于eclipse的f6 跳到下一步 F7 Step Into 相当于eclipse的f5就是 进入到代码 Alt+shift+F7 Force Step Into 这个是强制进入代码 Shift+F8 Step Out 相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数 Atl+F9 Run To Cursor 运行到光标处 ctrl+shift+F9 debug运行java类 ctrl+shift+F10 正常运行java类 alt+F8 debug时选中查看值 注意:有可能F8不起作用,这是应为自己电脑上启动的有其他小程序占用了F8快捷键,比如我F8不能用,是因为开了有道词典占用了F8。 来源: https://www.cnblogs.com/bestxyl/p/9015232.html

keil+stm32+jlink利用swd ITM 方式进行printf输出

你。 提交于 2020-01-16 04:16:20
使用ITM机制实现调试stm32单片机,实现printf与scanf。 1. ITM简介 ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。 在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序。在嵌入式设备上(如stm32单片机平台上)开发工具(如MDK/IAR)也都提供了标准库函,自然也提供了printf/scanf函数,那么这些函数是否可以使用呢? 问题来了,printf向哪里输出呢?并且大部分情况下,也没有键盘,又如何使用scanf实现输入呢? 我们都知道,嵌入式设备一般的使用仿真器,如常见Jlink/ulink,可以实现烧录,单步,下断点,查看变量,等等。仿真器将PC机和单片机连接器来。聪明的设计者们就在考虑是否可以借助仿真器,使得单片机可以借助PC机的屏幕以及PC机的键盘实现printf的输出和scanf的按键获取。 也就是说,如下的hello,world程序 # include <stdio.h> int main () { //硬件初始化 //.... printf( "hello, world"); for(;;); } 这个程序烧录到单片机中后

lldb调试器知多少

跟風遠走 提交于 2020-01-16 00:43:51
lldb调试器简介 lldb 是一个有着 REPL 的特性和 C++ 、Python 插件的开源调试器。lldb调试器的由来是伴随着Xcode的版本升级而来。 Xcode4.3之前使用的默认调试器是gdb, 到Xcode4.3之后便改成了lldb。gdb是UNIX及UNIX-like下的调试工具,是来自于GNU组织。 后被苹果进行优化,功能添加后,改名为lldb。可以说lldb是gdb的高版本。 lldb调试器是一个可执行Mach-O文件,因为通常是和xcode集成在一起,会让人误以为是xcode的一个功能,或者是xcode的一个插件。 然后并非如此,它是一个可执行的应用,可以任意组合,比如: Mac系统就有自带调试器lldb: /Library/Developer/CommandLineTools/usr/bin/lldb Xcode中也自带来了调试器lldb: /Applications/Xcode.app/Contents/Developer/usr/bin/lldb lldb调试器使用 在Xcode集成环境中,lldb使用方法简单; 运行Xcode工程后暂停项目,在lldb调试器窗口就可以使用lldb命令进行调试了。 如果没有Xcode集成环境怎么使用lldb呢? 这就有许多步骤需要我们手动完成了。 1.先通过ps查询当前运行的程序: 192:~ zhoufei$ ps

idea的debug调试快捷键

我怕爱的太早我们不能终老 提交于 2020-01-15 09:57:46
F9 resume programe 恢复程序 Alt+F10 show execution point 显示执行断点 F8 Step Over 相当于eclipse的f6 跳到下一步 F7 Step Into 相当于eclipse的f5就是 进入到代码 Alt+shift+F7 Force Step Into 这个是强制进入代码 Shift+F8 Step Out 相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数 Atl+F9 Run To Cursor 运行到光标处 ctrl+shift+F9 debug运行java类 ctrl+shift+F10 正常运行java类 alt+F8 debug时选中查看值 来源: https://www.cnblogs.com/gongxr/p/10077772.html

程序调试(debug)

ⅰ亾dé卋堺 提交于 2020-01-14 12:00:39
目的是查看程序的运行过程,以及在运行过程中各个变量的取值 https://www.bilibili.com/video/av33686176?p=161(从14分钟开始看 ) 添加断点 方法一:在某一行前面空白处双击 方法二:Run → Toggle breakpoint 方法三:Ctrl + Shift + B 启动调试 方法一:Run → Debug 方法二:F11 方法三:点击常用工具栏的小甲虫(Debug) 忽略断点 Ctrl + Alt + B 来源: https://www.cnblogs.com/huochemeiyouhuo/p/12190872.html

VS莫名其妙无法使用条件断点,断点条件变量显示未定义,监视中的指针显示未指向。

一笑奈何 提交于 2020-01-14 08:45:51
1、清除在“选项”对话框中的“调试”类别下的“常规”节点中的“仅使用与原始版本完全匹配的源代码”选项。 2、用菜单:编辑-〉高级-〉设置选定内容的格式 (Ctrl+K, Ctrl+F),把整个文件格式化。 3、将文件用记事本打开,存为Ansi,Unicode, UTF-8等格式。 4、项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』。 5、删除解决方案下的.ncb文件。 6.解决方案配置是 Debug ,但没有在工程属性页中“Alt+F7”->“配置属性”->“C/C++”->“常规”->“调试信息格式”, 选择“用于“编辑并继承”的程序数据库(/ZI)”。另外,在“配置属性”->“链接器”->“调试”->“生成调试信息”中,选择“是”。 7、C/C++->优化->优化选择『禁用』; 8、最后在上述设置的情况下,重新编译整个解决方案; 本人尝试了1 2 3 4 5 6 7 8 均未生效,后来重启了一下vs ,好用了...... 来源: CSDN 作者: bighead3827 链接: https://blog.csdn.net/bighead3827/article/details/103778745