程序调试

开源wujian100-开发板调试

梦想的初衷 提交于 2020-02-02 02:45:46
一、说明 阿里挺大方的,送了一个开发板(早期申请者可获得),用A7200T的FPGA,很大。可惜板子的接口太少了,回头找找看,有没有扩展卡吧。 下载到开发板进行调试,是相对比较简单的工作,按照参考文档做下去就行。坑就一个,驱动的签名不认。 依据“XC7A-FPGA开发板用户手册(FMX7AR3B).v1.0.pdf”进行调试。后续简称为“文档”。 二、调试理解 1、开发板了解 从开发板上看(文档里没写),flash用了两片(正反面各一片):S29GL128S90tf101(手册在: https://wenku.baidu.com/view/6bef1369ddccda38376bafd0.html ) 靠近CONFIG和CK-INK(USB接口)的地方,各有一个stm32,文档上说是用来做电源控制的,感觉也是用来做USB数据转换、烧写flash等控制的。 2、开发板上电 接入 5V 输入电源按下 POWER 按键后, MCU 控制上述电源按顺序上电,以确保 FPGA 正确启动,同时 D7 处的 LED 以类似呼吸的方式亮起指示 MCU 正常工作。 它特别提示关电的顺序: 如需要断开 FPGA 电源或关闭开发板电源,不要直接拔掉 5V 输入电源,应先按 POWER 键,关闭 FPGA 电源,才可以拔掉 5V 输入电源。 3、加载调试 开发板调试,包括3部分工作: a

python笔记——调试和异常处理

天涯浪子 提交于 2020-01-31 19:27:45
type()函数 type()函数既可以返回一个对象的类型,又可以创建出新的类型。 type('类名',(继承的父类),dict(方法绑定函数)) 使用type()函数创建的类和直接写class完全一样,因为python解释器遇到class定义时,仅仅是扫描以下class定义的语法,然后调用type()函数创建出class。 metaclass() 当我们定义了类之后,可以根据这个类创建出实例,所以: 先定义metaclass,就可以创建类,最后创建实例。 错误处理 try try...excepy...finally 流程为:try产生错误跳转到except,except执行结束后如果又finally则跳转到finally。 调试 assert def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0') assert表示:如果n != 0 得结果为true,则程序继续进行 如果断言失败,assert语句本身就会抛出AssertionError错误,内容为表达式后的'n is zero!' python解释器可以使用-O参数来关闭assert logging import logging logging.basicConfig(level=logging.INFO)

unity调试native c/c++ dll

不羁的心 提交于 2020-01-31 15:28:23
最近使用xlua,需要添加自定义的c lua库。研究了一下unity调试native c/c++ dll。方法如下: 通过Unity打开VS工程 VS菜单栏【工具】-> 【选项】 在选项对话框中设置【适用于Unity的工具】->【访问项目属性】为True 打开项目属性页面,选中【启用本地代码调试】 将C/C++的dll和pdb都复制到plugins相应的文件夹下 打开C/C++工程,附加到进程Unity.exe 至此即可调试C/C++工程。如果还是不行,要检查C/C++工程的调试功能是否开启: 【C/C++】->【常规】,将【调试信息格式】设置为:程序数据库(/zi) 【C/C++】->【优化】,将【优化】设置为:已禁用(/Od) 【链接器】->【调试】,将【生成调试信息】设置为:生成调试信息(/DEBUG) 来源: https://www.cnblogs.com/vkensou/p/12244986.html

在Visual Studio中调试XSLT

吃可爱长大的小学妹 提交于 2020-01-31 05:55:03
XSLT (eXtensible Stylesheet Language Transformation) 是一种用来转换XML文档结构的语言。 相信大家对XML已经并不陌生了,它是一种计算机程序间交换原始数据的简单而标准的方法,HTML是一种特殊的XML,XSLT本身也是一种XML,只不过前者用来在浏览器中展示特定的文本信息,后者则被用来格式化XML中的数据,按照XSLT文档中指定的要求输出XML中的数据。可以毫不夸张地说,XSLT之于XML就好比CSS之于HTML。有关XSLT更加详细的介绍和使用,读者可以参考 W3School 中有关XSLT的部分。 在Visual Studio中开发和使用XSLT是非常方便的,这要归功于Microsoft的XML控件,我不太记得这个控件是在.NET的哪个版本中开始引入的,不过自从有了这个控件,我们在程序中加载和格式化XML输出就变得异常轻松。网上有很多介绍XML控件的文章和例子,使用起来大概是这个样子: < asp:Xml ID ="xmlContent" runat ="server" DocumentSource ="~/xbrl/XBRL.xml" /> 1 xmlContent.TransformSource = " ~/xsl/IncomeStatement.xslt " ; 2 3 xmlContent

Python学习记录-代码调试

混江龙づ霸主 提交于 2020-01-30 16:35:13
方法1 print()   不推荐使用 方法2 断言 凡是用 print() 来辅助查看的地方,都可以用断言(assert)来替代: def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0') assert 的意思是,表达式 n != 0 应该是 True ,否则,根据程序运行的逻辑,后面的代码肯定会出错。 如果断言失败, assert 语句本身就会抛出 AssertionError : $ python err.py Traceback (most recent call last): ... AssertionError: n is zero! 程序中如果到处充斥着 assert ,和 print() 相比也好不到哪去。不过,启动Python解释器时可以用 -O 参数来关闭 assert : $ python -O err.py Traceback (most recent call last): ... ZeroDivisionError: division by zero 注意:断言的开关“-O”是英文大写字母O,不是数字0。 关闭后,你可以把所有的 assert 语句当成 pass 来看。 方法3 logging 把 print() 替换为 logging

vscode配置C/C++环境(完美版)

烈酒焚心 提交于 2020-01-30 13:15:09
新建一个文件夹.vscode 在.vscode文件下新建launch.json文件 内容如下: { "version" : "0.2.0" , "configurations" : [ { "name" : "(gdb) Launch" , // 配置名称,将会在启动配置的下拉菜单中显示 "type" : "cppdbg" , // 配置类型,这里只能为cppdbg "request" : "launch" , // 请求配置类型,可以为launch(启动)或attach(附加) "program" : "${workspaceFolder}/${fileBasenameNoExtension}.exe" , // 将要进行调试的程序的路径 "args" : [ ] , // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry" : false , // 设为true时程序将暂停在程序入口处,一般设置为false "cwd" : "${workspaceFolder}" , // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder "environment" : [ ] , "externalConsole" : true , // 调试时是否显示控制台窗口

Visual Studio调试Linux平台的C++程序(CMake)

别等时光非礼了梦想. 提交于 2020-01-30 10:24:57
CMake是一个跨平台编译工具,可以生成各平台的makefile,非常方便。 关于“Visual Studio调试Linux平台的C++程序”,请参照我的另一篇文章, https://blog.csdn.net/liudi_ly/article/details/104110079 构建CMake工程: 打开Visual Studio,新建CMake Project,配置CMake settings for Linux, 选择Manage Configurations,新建一个configuration: 自动生成的CMakeSettings.json文件如下: { "configurations" : [ { "name" : "x64-Debug" , "generator" : "Ninja" , "configurationType" : "Debug" , "inheritEnvironments" : [ "msvc_x64_x64" ] , "buildRoot" : " ${projectDir} \\out\\build\\ ${name} " , "installRoot" : " ${projectDir} \\out\\install\\ ${name} " , "cmakeCommandArgs" : "" , "buildCommandArgs" : "

致 Python 初学者

醉酒当歌 提交于 2020-01-30 02:46:24
前言 明确学习目标,不急于求成,不好高骛远 在开始学习 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 初学者走出困境、快速成长。希望我的经验能真正帮到你们。 明确学习目标,不急于求成,不好高骛远 当下是一个喧嚣、浮躁的时代。我们总是被生活中大量涌现的热点所吸引,几乎没有深度阅读和思考的时间和机会。我始终认为,学习是需要沉下心来慢慢钻研的,是长期的

C语言中的Debug工具介绍

痞子三分冷 提交于 2020-01-30 02:02:50
概述 代码测试有很多方面,例如运行时间、函数调用关系图、代码覆盖度、性能分析 (Profiling) 、内存访问越界(Segmentation Fault) 、缓冲区溢出(Stack Smashing 合法地进行非法的内存访问?所以很危险) 、内存泄露(Memory Leak) 。 代码测试工具简介: 1.测试程序的运行时间 time 2.函数调用关系图 calltree 3.性能测试工具 gprof & kprof 4.代码覆盖率测试 gcov & ggcov 5.内存范围越界 catchsegv, libSegFault.so 6.缓冲区溢出 libsafe.so 7.内存泄漏 Memwatch, Valgrind, mtrace 8.系统调用分析 strace 代码调试: 1.静态调试:printf + gcc -D(打印程序中的变量) 2.交互式的调试(动态调试):gdb(支持本地和远程);ald(汇编指令级别的调试) 嵌入式系统调试方法:gdbserver/gdb 汇编代码的调试 ald 3.实时调试:gdb tracepoint 4.内核调试工具 https://elinux.org/images/c/c6/Tools_slides.pdf 代码优化: Oprofile Perf 来源: CSDN 作者: 麦子点点科技 链接: https://blog.csdn.net

Pycharm远程调试原理及配置

若如初见. 提交于 2020-01-30 01:46:17
VSCode是MS推出的一款免费的开源并跨平台的轻量级代码编辑器,内置Git和Debug等常用功能,强大的插件扩展功能以及简单的配置几乎可以打造成任意编程语言的IDE。本文简单聊一下其本地attach和remote debug功能。 默认在vscode中打开py文件可以直接使用断点调试,使用的Debug模式为:Python: Current File (Integrated Terminal),这是针对vscode中当前打开的文件。 对于独立于vscode之外运行程序的debug,根据是否和vscode位于同一主机可以分为local attach和remote debug。 0. 配置环境 下面以python为例简单讲一下debug功能。 安装vscode版本1.31.1 python第三方库ptvsd vscode插件python 实际使用根据需要下载最新版本即可。 1. 本地Local Attach 打开vscode工程目录下的.vscode/launch.json文件,添加如下内容: { "version": "0.2.0", "configurations": [ { "name": "Python: Local Attach", "type": "python", "request": "attach", "port": 12345, "host": "127.0.0.1