代码的调试.运行

 1、准备工作

  (1)Python版本为3.6或者更高版本

  (2)已经创建了一个Python工程并且添加了内容,具体参考: Getting Started tutorial

  2、第一步——运行代码

  打开之前编写的Oldboy.py文件,在编辑框中右键,选择快捷菜单中的“Run ‘Oldboy‘”选项。

3、什么是Run/Debug模式

  每个需要运行/调试的脚本文件都需要一个特殊的配置文件来指定其脚本名称、所在目录以及其他重要的运行调试信息。Pycharm已经集成了这种配置文件,避免用户手动去创建。

  每次当你单击Run或者Debug按钮时(或者在快捷菜单中执行相同操作),实际上都是将当前的运行/调试配置文件加载到当前的调试模型中。

 如果你仔细观察第一张图片就会发现,在组合框中根本就没有 run/debug的相关信息,知道第二张图片中它们才出现。这就意味着当执行运行/调试命令的时候,Solver脚本的run/debug配置文件才会自动生成,正如现在所显示的这样。

  此时再主工具栏中Run(绿色箭头按钮)和Debug(绿色甲壳虫按钮)两个按钮变得可用:

图中两个按钮由Pycharm自动创建

如果设置了多个run/debug方案,可以在图中的下拉列表里选中一个,作为当前的功项目配置文件。

4、配置run/debug配置信息

在上图的下拉列表中,单击Edit configuration选项,打开run/debug配置编辑窗口:

在左侧目录中将会出现两个节点:Python和Default。在第一个节点目录下有一个单一的配置选项‘oldboy‘,在第二个选项下则有很多配置信息。

  这意味着什么呢?

 在Default节点下,你只能看到框架的名称或者模式名称,如果你创建一个新的Run/Debug配置文件,它将会在所选中的模式分支下进行创建,如果你更改了Default节点下的设置,相应的与其相关的所有配置文件都会更改。

  例如,你想将Pycharm中所用到的Python解释器替换成远程或者本地解释器,就可以通过更改Python页面下的解释器设置,这样所有新建的调试配置文件都会使用这个新的解释器。

  早Python节点下,只用单一的配置选项‘Oldboy‘,它属于Python类型的配置,但与Default节点下的Python机制并不相同,它使用一个非透明的图标进行的表示,这是用来指示当前配置文件的保存状态的,当你保存配置文件之后图标即变为非透明状态。例如,我们在Python类型下为当前的Solver脚本新建一个配置文件,取名‘Oldboy1‘。

  如果你对已存在的配置文件做了任何更改,这些更改只会应用于对应的脚本区域。

5、正式运行代码文件

  我们已经能够通过一种非常直接的方式,接下来我们寻求其他方法来运行脚本。

  正如我们所知,运行脚本意味着加载当前的调试配置文件,因此,运行脚本主要遵循以下流程:

  (1)在主工具栏中,单击run/debug组框,确认当前的调试配置文件信息

  (2)做下面的工作(三选一即可):

    单击运行按钮,加载配置文件

    按下Shift+F10快捷键

    在主菜单上,选择Run → Run

  此时,我们可以在Run tool window.窗口中观察程序的运行结果。

6、选择一个测试器

  首先,需要指定一个测试器。单击工具栏的设置按钮,打开Settings/Tools对话框,然后单击进入Python Intergated Tools页面(可以通过搜索功能找到),默认选择如下:

7、创建一个test程序块

  首先我们创建一个test实例。Pycharm提供了一种非常智能的创建测试代码的方法:单击选中类名然后按下Ctrl+Shift+T快捷键,或者在主菜单中选择Navigate → Test,如果test程序已存在,则会直接跳转到对应代码,否则创建它:

按照系统提示进行操作,Pycharm会显示如下对话框:

单击OK按钮,查看创建结果:

此时Pycharm已经自动创建了一个测试类,当然这只是一个类框架,需要我们手动编写测试函数。

8、运行测试代码

一切就绪后,右击测试类名,在弹出的快捷菜单中选择运行命令:

观察运行状态栏中 Test Runner tab的输出结果:

9、调试运行

  首先要弄清楚,为什么要进行调试?假设我们的程序在运行过程中命中了一个错误,那我们如何定位错误发生的位置?这就需要进行调试。

在Pycharm中我们可以在其中直接对程序进行调试,唯一需要做的准备工作就是在程序必要的地方加设断点,接下来我们进行详细的介绍:

10、什么是断点?

  一个breakpoint标记了一个行的位置,当程序运行到该行代码的时候,Pycharm会将程序暂时挂起以方便我们对程序的运行状态进行分析。Pycharm支持若干中类型的断点 types of breakpoints,可以通过对应图标进行分辨。

  这里我们采用Python的行断点为例进行介绍

11、设置断点

方法非常简单,单击代码左侧的空白灰色槽即可:

注意断点会将对应的代码行标记为红色,这种颜色标记目前还不能被用户所更改,我们会尽快出台解决方案。

顺便说一句,取消断点的操作也很简单,在同样位置再次单击即可。

当你将鼠标指针悬停在断点上方时,Pycharm会显示断点的关键信息,行号以及脚本属性,如果你希望更改该断点的属性,右击断点:

12、代码调试

接下来,我们正式开始对代码进行调试。

首先从配置文件组框中选择同名的‘Oldboy‘文件作为当前调试的配置文件,然后单击调试按钮(绿色甲壳虫样式的按钮):

接下来会Pycharm会执行以下操作:

  (1)PyCharm开始运行,并在断点处暂停

  (2)断点所在代码行变蓝,意味着Pycharm程序进程已经到达断点处,但尚未执行断点所标记的代码。

  (3)Debug tool window窗口出现,显示当前重要调试信息,并允许用户对调试进程进行更改。

  虽然Pycharm使用手册中已经完整提供了调试窗口中所有控件的功能信息,我们这里仍然对其进行简要介绍。我们发现窗口分为两个选项卡:Debugger tab and the Console tab。

  (1)Debugger窗口分为三个可见区域:FramesVariables, 和 Watches。这些窗口列出了当前的框架、运行的进程,方便用户查看程序空间中变量的状态等。当你选择一个框架,就会显示出相关的变量信息,当然这些区域都是可以折叠隐藏的。

  (2)Console窗口显示当前的控制台输出信息,默认这个窗口位于Debugger之下,可以通过单击其标签将其前置显示。

  当然我们可以改变这些窗口的摆放位置,如果你不喜欢程序的默认排版的话。具体参加Moving tabs and areas章节。

  Debugger窗口的工作模式:

  按下F9(或者左侧工具栏的绿色箭头),程序会继续运行到下一断点处,通过这种方式你可以将每个断点都运行一遍,观察变量的变化。

  更多有关 Debugger窗口的信息参见软件手册:product documentation

  Console窗口的工作模式:

  为什么需要用到Console窗口呢?当我们需要查看程序给出的错误信息,或者进行一些额外的临时运算时,就需要在这个窗口里面进行。

  单击Console选项卡使其前置:

激活了控制台机制,尝试在其中执行一些Python命令:

原文地址:https://www.cnblogs.com/cainingning/p/9374584.html

时间: 2024-10-08 06:03:05

代码的调试.运行的相关文章

visual studio code 里调试运行 Python代码

最近对微软的visual studio code 挺感兴趣的,微软的跨平台开发工具.轻量简洁. 版本迭代的也挺快的,现在已近1.3.1版本了,功能也愈加完善. 今天就简单描述一下我在vs code里怎么运行调试Python的. 因为在网上没怎么看到过相关的文章描述.我就自己摸索,把基本的环境搭建步骤给记录一下. 一.下载安装vscode最新版本,目前是1.3.1版本.地址自行搜索,这个都不会搜,那说明对vscode没有了解和兴趣.就不用看了. 安装完成后打开vscode,按图示安装Python的

gdb调试运行时的程序小技巧

使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或

Android Studio 导入OpenCV 并调试运行face-detection例子

p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify } p.western { font-family: "Calibri", serif; font-size: 10pt } p.cjk { font-family: "Droid Sans Fallback"; font-size: 10pt } p.ctl {

[转]使用gdb调试运行时的程序小技巧

原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢!原文链接地址:使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法:情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序情景2:需要同时看几个变量的值或者批量查看多个core文件的堆栈信息怎么办情景3:遇到需要查看.队列.链表.树.堆等数据结构里的变量怎么办1. 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序我们在生产环境或者测试环境,会遇到一些异常,我们需

ANE原生代码的调试(安卓)

忙了一天终于有空继续这篇教程了. ANE的原生代码的调试其实在Adobe的官网有介绍的,但是同样很含糊,我摸索了一段时间现在记录下我的心得. 首先你得安装Eclipse,然后你得启动Eclipse 然后选择DDMS界面. 百度百科: DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务. 它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息.Logcat.广播状态信息.模拟电话呼叫.接收

使用 gdb 调试运行中的 Python 进程

本文和大家分享的是使用 gdb 调试运行中的 Python 进程相关内容,一起来看看吧,希望对大家学习python有所帮助. 准备工作 安装 gdb 和 python2.7-dbg: $ sudo apt-get install gdb python2.7-dbg 设置 /proc/sys/kernel/yama/ptrace_scope: $ sudo su# echo 0 > /proc/sys/kernel/yama/ptrace_scope 运行 test.py: $ python te

Xcode不能真机调试运行

The scheme 'SSDKDemo' contains no buildables that can be built for the SDKs supported by the run destination Pengfei. Make sure your targets all specify SDKs that are supported by this version of Xcode. 解决办法: 在build setting 的列表里面,找到, iOS DEPLOYMENT T

远程代码的调试--移动端代码调试(火狐工具)

Remotely debugging Firefox for Android 使用火狐开发工具可以在桌面上进行远程代码的调试(FF26以上) 具体使用参考: https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android 主要流程: 1.在桌面上安装AndroidSDK,并使用AndroidSDK安装Android Platform Tools,测试安装成功的方法: 通过USB连接电脑与设备

VS调试运行出错,某些类库项目中引用的命名空间提示不存在

这两天做监控中心项目开发,很有意思,手底下的兄弟 在开发过程中  遇到的一个很诡异的问题 重新下载项目之后,调试运行 系统提示某类库下引用的命名空间不存在.是不是引用的类库项目没生成?重新单独运行生成要引用的类库,然后再次运行项目 还是提示不存在 很奇怪.  后来想到 是不是跟项目的存在路径有关系.项目下载后 默认他放在了VS在C盘的project目录下 WIN10的操作系统 .试一试吧 把项目拷到D的某个目录下  再次调试运行   运行正常