程序调试

.NET Core Windows环境安装与体验

旧时模样 提交于 2019-12-16 20:43:37
1、安装.NET Core SDK 在windows下开发.NET Core最好使用Visual Studio工具。下载地址与安装: VS2015最新版本: Visual Studio 2015 Update 3* VS环境下的.Net Core: .NET Core 1.0 for Visual Studio 对应下载的文件DotNetCore.1.0.0-VS2015Tools.Preview2.exe .Net Core安装过程(安装过程比较慢,亲们耐心等待): (安装慢,等待中…….) (OK,终于安装完成了,开始下一步……) .Net Core可从 https://www.microsoft.com/net/download 下载: VS Ent 2015 sp3效果图: 注意: (1)VS2015可以使用免费开发工具 Visual Studio Community 或者Visual Studio Code。 (2)安装之前首先确认 Windows dependencies 已安装。 (3)如果你使用自己喜欢的命令行工具或使用Visual Studio Code,你紧紧需要下载 .NET Core SDK for Windows 。 开发工具下载地址,可参考 https://www.visualstudio.com/downloads/download-visual

二十八、详述 IntelliJ IDEA 远程调试 Tomcat 的方法

≯℡__Kan透↙ 提交于 2019-12-16 20:34:34
在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法。在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试。 首先,配置 remote : 如上图所示,点击 Edit Configurations ,进入如下界面: 如上图所示,我们进入了 Run/Debug Configurations 界面,然后点击左上角的 + ,选择 Remote : 标注 1:运行远程 JVM 的命令行参数; 标注 2:传输方式,默认为 Socket ; 标注 3:调试模式,默认为 Attach ; 标注 4:服务器 IP 地址,默认为 localhost ,需要修改为目标服务器的真实 IP 地址; 标注 5:服务器端口号,默认为 5005 ,需要修改为目标服务器的真实端口号; 标注 6:搜索资源是使用的环境变量,默认为 <whole project> ,即整个项目。 如上图所示,其中 标注 2 和 标注 3 又分别有两种分类,对于 标注 2, 标注 2:传输方式,默认为 Socket ; Socket :macOS 及 Linux 系统使用此种传输方式; Shared memory : Windows 系统使用此种传输方式。 对于 标注 3, 标注 3:调试模式,默认为 Attach ; Attach :此种模式下,调试服务端

idea远程debug调试设置

笑着哭i 提交于 2019-12-16 15:22:38
1、idea设置 1.1 加入Tomcat Server选择Remote 1.2:设置对应的參数 xxx.xxx.152.67:8080为远程Tomcatserver的IP地址和port,这里能够设置域名。比如: http://security.xxxx.cn/login.do ; 60222这个port为1.1步中设置的debugport。适合tomcat的port不一样的; 这里的Remote staging选择的都是same file system,这就要求本地代码和远程Tomcat的代码要一直;1 1.3 Startup/Connection 选择Debug、Socket、调试port这里是60222 1.4:选择执行 然后点击右边的debug就可以执行(首先Tomcat要启动) 1.5:是否成功 能够看到已经连接成功, 查看Tomcatserver日志。例如以下: 6、假设失败 假设出现port被拒绝: 这样的可能是tomcat并未启动,或者遇错误停止,重新启动Tomcat就可以 连接失败。其它问题 首先在server端查看 调试port 这里是60222的使用情况 2.使用netstat 使用netstat -anp|grep 80 netstat -tln|grep 80 ps -ef| grep tomcat 查看tomcat是否关闭  tail - f 10000

15. 调试

£可爱£侵袭症+ 提交于 2019-12-16 12:18:20
15.1. 本地调试 debug configurations... stop in main 勾选了此选项后,每次debug程序,会直接停在主函数上,就不需要在主函数上打断点了. program arguments 这里可以输入java程序可以接收到的参数,例如我们这里输入a,b,点击debug vm arguments 可以对虚拟机输入参数. 例如:开启远程debug(jdwp),飞行记录器(jfr),设置虚拟机内存,等. 开启远程debug(jdwp) -Xdebug -Xrunjdwp:transport=dt_socket,address=50001,server=y,suspend=n 15.2. 远程调试 如果服务器已经配置了远程debug(jdwp),那么我们可以通过配置Remote Java Application,进行远程debug. 15.3. 普通断点 双击某行,即可设置断点,按F11即可进行调试. 15.4. 条件断点 可以通过设置条件,让线程暂停,在定位异常问题的时候很常用. 15.5. 异常断点 通过设置异常条件,让线程暂停. 在分析一些异常情况的时候,使用异常断点,可以很直观的看出,发生异常时,内存中变量的情况. 来源: https://www.cnblogs.com/q651231292/p/12038900.html

利用异常实现反调试

这一生的挚爱 提交于 2019-12-16 10:34:43
0×01 介绍 一些文章已经介绍过通过检测异常来对抗调试器的技术。这个思想很简单:根据设计本意,调试器会处理特定的异常。如果一个异常包裹在try块中,只有当没有附加调试器的时候,异常处理程序才会执行。因此,可以得出结论,只要异常块没有执行,那么程序就正在被一个调试器调试。 0×02 一个字节的Interrupt 3中断(0xCC) 在所有会被调试器处理的异常中,interrupt 3中断算是一个,它会生成一个单字节的断点。 BOOL IsDebuggerPresent_Int3() { __try { __asm int 3 } __except(1) { return FALSE; } return TRUE; } 0×03 两个字节的Interrupt 3中断(0xCD 0×03) 使用Visual C++内联汇编器的_emit伪指令可以生成一个两字节的interrupt 3指令。在测试的所有调试器中,只有OnllyDbg调试器识别这个异常。 BOOL IsDebuggerPresent_Int3_2Byte() { __try { __asm { __emit 0xCD __emit 0x03 } } __except(1) { return FALSE; } return TRUE; } 0×04 Interrupt 0x2C中断 Interrupt

C++软件崩溃调试

♀尐吖头ヾ 提交于 2019-12-16 06:29:59
当我们遇到程序崩溃时,如果没有非常详细的日志,很难找到原因。因此,我们可以尝试查看崩溃时的堆栈。 如果需要程序崩溃时产生堆栈记录,那么需要在注册表添加这三项内容。 添加注册表项 按下WIN+R打开运行窗口 输入regedit然后进入里面添加以下三项,那么在软件崩溃的时候就会产生dump文件了 增加仿真崩溃的代码 route::HWPoint* pns=NULL; pns->angle = 5; 双击打开程序,生成dump文件 调试dmp文件 双击打开dmp文件 关联代码 点击仅限本机进行调试 根据堆栈找到错误的原因 来源: CSDN 作者: 持之以恒2016 链接: https://blog.csdn.net/wei242425445/article/details/103473844

Clion远程调试cmake项目

蓝咒 提交于 2019-12-15 13:28:26
1.导入cmake项目: 2.设置使用shell登录远程机器(不用root也可以): 3.设置远程cmake,gdb 如果这里ssh无法登录,确保配置正确。如果无故报“cannot establish connection”,进入第二步,点击Test connection,连接成功即可以ssh远程登录。 4.设置cmake的启动参数 5.添加remote debug 填好ip端口,格式是tcp:ip:port,本地项目路径,远程项目路径。这里的端口是和远程服务器的gdbservice通信的端口。 6.远程机器安装gdb,gdbservice gdbservice启动命令: gdbserver :端口 .程序名 gdbserver :端口 --attach <PID> 来源: CSDN 作者: 晨起跑十里 链接: https://blog.csdn.net/u011550549/article/details/103544224

剑客之剑系列续篇:六脉神剑——PyCharm使用宝典

泪湿孤枕 提交于 2019-12-15 05:08:15
文章目录 1. 前言 2. PyCharm的六脉神剑 2.1 工程管理——少商剑:石破天惊 2.1.1 创建工程 2.1.2 切换工程 2.2 环境管理——商阳剑:难以捉摸 2.2.1 切换Python环境 2.2.2 添加环境 2.2.3 Python模块管理 2.3 模板管理——中冲剑:气势雄迈 2.3.1 文件模板 2.3.2 Live Templates 2.3.3 docstring 2.4 代码编辑——少冲剑:轻灵迅速 2.4.1 自动补全 2.4.2 代码重构 2.4.3 代码纠错 2.4.4 代码规范 2.4.5 超级滚动条 2.5 代码调试——少泽剑:变化精微 2.5.1 断点调试 2.5.2 SciView 2.5.3 自动中断 2.6 版本控制——关冲剑:拙滞古朴 2.6.1 本地版本控制 2.6.2 Git和SVN 3. 后记 1. 前言 前些日子,我在 CSDN 博客平台上以《剑客之剑》作为系列篇名,一口气分享了三款编辑器的使用体验。这篇三文章分别是: 《剑客之剑——君子剑(Notepad++)》 《剑客之剑——倚天剑(Vim)》 《剑客之剑——玄铁重剑(VS Code)》 原计划 PyCharm 是《剑客之剑》系列的第四篇,本想一鼓作气写完的,无奈因短时间内发力过猛,气血不足,无以为继,只好先闭关修炼了两周。今日出关,终于可以继续聊聊 PyCharm 了

PHP学习资源整理

戏子无情 提交于 2019-12-14 12:05:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 学习资源 PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源 PHP网站(PHP Websites) PHP The Right Way 一个PHP实践的快速参考指导 PHP书籍(PHP Books) Modern PHP – 作者是 PHP 之道 的发起人和 Slim框架 的作者 Modern PHP(中文版) 依赖管理( Dependency Management ) 用于依赖管理的包和框架 Composer / Packagist – 一个包和依赖管理器. Composer Installers – 一个多框架Composer库安装器 pickle – PHP扩展安装器 Melody – A tool to build one file Composer scripts. 框架( Frameworks ) Web开发框架 Symfony2 – 由独立组件构成的框架(SP2) Zend Framework 2 – 同样是由独立组件构成的框架(ZF2) Laravel 5 – 简洁优雅的PHP Web开发框架(L5) Aura PHP – 独立组件的框架 Yii2 – 用于开发大型Web应用的高性能PHP框架 Nette – 同样是由独立组件构成的框架 PPI Framework 2 –

ceshi

懵懂的女人 提交于 2019-12-14 01:44:52
文章目录 前言 明确学习目标,不急于求成,不好高骛远 在开始学习 Python 之前,你需要做一些准备 2.1 Python 的各种发行版 2.2 安装 Python 2.3 选择一款趁手的开发工具 习惯使用IDLE,这是学习python最好的方式 严格遵从编码规范 代码的运行、调试 模块管理 5.1 同时安装了py2/py3 5.2 使用Anaconda,或者通过IDE来安装模块 5.3 仅安装了py2 或 py3 5.4 pip应用演示 5.5 模块仓库 5.4 发布自己的模块安装包 前言 欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你们。 明确学习目标,不急于求成,不好高骛远 当下是一个喧嚣、浮躁的时代。我们总是被生活中大量涌现的热点所吸引,几乎没有深度阅读和思考的时间和机会。我始终认为,学习是需要沉下心来慢慢钻研的