【调试】启用日志模式进行程序调试

import logging
logging.basicConfig(level=logging.DEBUG, format=‘ %(asctime)s - %(levelname)s: %(message)s‘) #format显示格式可按自己喜好调整

#logging.disable(logging.CRITICAL) #调试日志是否显示开关
logging.debug(‘程序现在开始!‘) #调试日志开始标记

def factorial(n):
    logging.debug(‘开始执行:factorial(%s)‘ % (n)) #日志标记把正在执行的参数
    total = 1
    for i in range(n + 1):
        total *= i
        logging.debug(‘此处【i】值是:‘ + str(i) + ‘,【total】值是:‘ + str(total))#要调试处用logging.debug代替print
    logging.debug(‘结束执行:factorial(%s)‘ % (n))  #日志标记把正在执行的参数
    return total
print(factorial(5))

logging.debug(‘程序已经结束!‘) #调试日志结束标记

调试过程将显示:

2019-03-15 14:17:01,538 - DEBUG: 程序现在开始!
2019-03-15 14:17:01,548 - DEBUG: 开始执行:factorial(5)
2019-03-15 14:17:01,551 - DEBUG: 此处【i】值是:0,【total】值是:0
2019-03-15 14:17:01,554 - DEBUG: 此处【i】值是:1,【total】值是:0
2019-03-15 14:17:01,557 - DEBUG: 此处【i】值是:2,【total】值是:0
2019-03-15 14:17:01,560 - DEBUG: 此处【i】值是:3,【total】值是:0
2019-03-15 14:17:01,586 - DEBUG: 此处【i】值是:4,【total】值是:0
2019-03-15 14:17:01,606 - DEBUG: 此处【i】值是:5,【total】值是:0
2019-03-15 14:17:01,628 - DEBUG: 结束执行:factorial(5)
0
2019-03-15 14:17:01,672 - DEBUG: 程序已经结束!

原文地址:https://www.cnblogs.com/chenxi188/p/10536747.html

时间: 2024-08-29 22:38:31

【调试】启用日志模式进行程序调试的相关文章

【Visual Studio】VS2013的Release模式下进行调试(转)

原文转自 http://blog.csdn.net/haizimin/article/details/50262901 在有的情况下,我们可能不能直接利用Debug模式进行程序调试,那么如何在Release模式下进行程序调试呢? 一.将项目属性设置为Release,"生成"--->"配置管理器": 二.按Alt+F7,弹出属性页进行设置:

Python异常处理与程序调试

Python异常处理与程序调试 Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约定的一个错误代码. "try...except"语句 用于处理问题语句,捕获可能存在的异常.try子句的代码块中放置的可能出现异常的语句,except子句中的代码用于处理异常.当异常出现时,Python会自动生成一个异常对象. >>> try: ... f = open(

GDB 程序调试简单实践

用了好久的GCC/G++ 却一直都没用过GDB调试过程序,有时程序不是很大,一般有错,直接看编译器编译结果就差不多知道错在哪儿了,或者使用codeblocks单步调试,甚至回到windows下面调试,但是总是不太方便,因此有必要看一下GDB调试方法和基本步骤. 下面是一个简单的演示: 首先创建一个有错误的代码,如下: 这个程序很简单,目的是接受用户的输入,并将用户的输入回应输出来. 但是这个程序的第17行有个错误,使用了未初始化的字符指针name,因此编译运行后会出现段错误,如下: 下面利用GD

杂【第一天】包括eclipse常见操作,程序调试模式

观看传智播客视频笔记,感谢 eclipse的常见操作: 1.当即热版本低于编译器版本是,会出现bad Vresion number in class file的错误: 2.快捷键: alt+/:模板键 ctrl+1:快速修复 ctrl+shift+o:导包 设置代码阿保存的时候自动格式化:windows->首选项->Java->Editor->save Actions 代码移动:alt+上下键 重置视图:window->reset perspective... 3.典型的字节

程序员突围-程序调试分析(一) 我从菜鸟进化的感悟

程序员突围-程序调试分析(一) 我从菜鸟进化的感悟 在说程序调试分析之前,我们还是了解一些基本的概念性的东西(在下现在从事java,因而都已java为例) 1. bug的分类 根据程序的阶段和MSDN和看过的一些书籍的分析,bug分为编译错误,运行时错误和逻辑的错误 (1)  编译错误 一般初学者犯错比较多的地方,编译错误,说白了就是程序在从java编译成.class文件时出现了问题,这个问题的现象比较明显,比如说语句写的有问题,那么对于这类问题的解决方法是什么呢,翻翻书,翻翻API(翻阅API

IDEA调试服务器上部署的程序

提出问题: 一个程序,部署在自己的电脑上,debug调试,相信大家都会,但是,如果我想debug调试非本地部署的程序怎么办呢.比如测试服务器上部署的程序. 其实这样的需求也是经常有的,比如一个大型的项目有很多模块,也有很多自己的或外部的依赖,不可能在自己电脑上整个都搭建一整套完整的环境.先不管有多复杂,有时候公司的电脑配置再不给力,部署一个大型程序更是雪上加霜.通常这样的程序都是直接部署到专门的开发或测试环境里面.很少在自己电脑上部署测试.再加上运用像jenkins这样的自动化的部署工具,部署只

.NET应用程序调试—原理、工具、方法

阅读目录: 1.背景介绍 2.基本原理(Windows调试工具箱..NET调试扩展SOS.DLL.SOSEX.DLL) 2.1.Windows调试工具箱 2.2..NET调试扩展包,SOS.DLL.SOSEX.DLL 2.3.调试系统的基本流程及架构(.NETDAC概念.mscordacwks.dll) 2.4.VisualStudio中集成扩展调试(更加细粒度的调试程序) 3.调试程序类型(客户端程序.服务端程序) 4.调试方式及场景 4.1.本机调试(Attach Process,调试器启动

程序员突围-程序调试分析(序)

-从实践到思考,痛苦的煎熬 其实算算,工作一年了,从大学毕业至今,接触编程已经五年了,但是真正的编程感觉还没有开始,从大一开始接触C语言,陆续接触c++,java,C#等等,现在感悟到了一点,编程语言学那么多有什么用呢?其实把一门编程语言学精了,学透了,其他的是触类旁通的(底层的C语言和C++可能有点例外),下面我会说一下我的经历,我感觉可能是大多数学习编程人的必经的阶段,让大家对编程的抵触少一些,然后想想一个我这样的白痴都能慢慢的开始程序调试,程序分析,你们绝对比我强的,下篇文章才会进入我的程

(转)VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“

中调试项目遇到错误提示,Visual Studio 2010(或VS2008或VS2005)启动调试的时候,弹出提示信息: 生成下面的模块时,启用了优化或没有调试信息: C:\WINDOWS\Microsoft.NET\Frameword\v2.0.50727\Temporary   ASP.NETFiles\3cmarket\bfbd519\8aA985a18\assembly\dl3\4051c514\d0da2e40_ba3ec701\Adcontrol.DLL若要调试此模块,请将其项目生