调试是写代码一共非常重要的步骤,掌握好调试的技巧对于编程有事半功倍的效果,下面是我总结的菜鸟用方法

1、关于HTML和JS的调试

JS曾经是我最讨厌的错误,因为大多数错误VS不报错,这是因为js是解释型语言,即加载一行解析一行...... 但有时候A函数的错误会影响到B函数运行不了(A函数在B函数下面啊)

(1) js函数更改后在页面执行没反应

有时会发现,当你改了JS函数后运行结果还是跟没改的一样,那是因为浏览器缓存的问题,只要刷新一下就行,如果发现还不行,就按开发者工具(F12)里面清理下缓存,这个保证没问题了

(2) 若发现JS函数不执行,而且又不报错,怎么办?开发者工具非常的强大,具体按开发者工具--》脚本--》启动调试,然后执行,运行时他就会报错了,而且这里面还能设断点,按F5运行。

(3) 在F12状态下能够直接修改HTML代码,能直接看到HTML的效果,如果是你要的效果,那就赶紧复制保存起来吧。

2、关于后台的调试 

后台调试的方法非常的多,我也是只会皮毛,以后陆续额更新- -

(1)设断点这不用说,以过程为单位运行的按F10,以语句为单位的按F11,还有就是,别以为调试运行时是单向的,其实通过拖拉指针(不知道叫什么好)能去到任意的位置!!如果你已经确定错误的范围,,可以用try括起范围,然后在catch块里看到捕捉的异常,还能用即时窗口观察当前你想知道的变量值,监视是监视变量随着程序运行而变化,非常好用!

(2)即时窗口:即时窗口相当于控制台,能够获取和设置当前程序运行中的值,这样在调试时就能达到不修改程序又能修改变量的效果,举个例子,上传商品的状态一般默认是完整商品,假如调试的时候要把商品设置成不完整商品,不用即时窗口只能在程序赋值为item.status = "不完整商品"再继续调试,然后调试好了又要改回来,这样很麻烦,用即使窗口直接在窗口中item.status = "不完整商品"就能修改它的值,不用修改任何代码,另外即时窗口非常像浏览器的控制台。

(3)调用堆栈:当调试一些比较老的项目时,函数调用深度非常深而且命名又非常相近,可以把看看调用堆栈,新版的VS还能用图像表现出来,非常直观。

(4)假如有的时候用IIS挂了网站,又不能用VS调试的情况下,可以用VS的附加到进程,附加你想调试的进程,然后后台设断点,前台在你想设断点的位置加个debugger,其他都跟上面一样~

(5).net Reflector:如果错误是在dll里面的怎么办?可以安装插件reflector,然后设置dll为可调试,这样调试的时候就能进入dll内部!之前遇到过一个mysql.dll(公司封装的)错误老是返回链接失败,结果调试进去才知道是dll版本不对!

asp.net开发的调试方法集合的更多相关文章

  1. PyCharm Django项目开发的调试方法

    下面介绍两种PyCharm Django项目开发的调试方法: 方法一: 1. 使用PyCharm 自带的django项目Debug工具, 当然前提条件是django项目环境已经搭建好了. 2. 在代码 ...

  2. Web开发常规调试方法与常见问题分析

    一.Web项目基本原理 现在的web项目大都已经前后端独立开发与部署. 前后端独立开发,一般是前端与后端通过web接口(常见的有RESTful与websocket)文档进行交流.前端开发人员先更具业务 ...

  3. onvif规范的实现:onvif开发常用调试方法 和常见的segmentation fault错误

    在前几篇中,虽然已经实现了rtsp视频流的对接,但是还要做的工作还非常多,onvif本来就是一个覆盖面非常广的一个协议,每一个功能都要填充大量的函数.而且稍不注意就会出现segmentation fa ...

  4. ios开发之--调试方法

    概述 基本操作 全局断点 条件断点 开启僵尸对象 LLDB命令 概述 在开发项目的工程中,肯定会遇到各种各样的bug,且大多数的bug都和自己有关:那么在和bug斗智斗勇的过程中,如果能快速准确的一击 ...

  5. ASP.NET获取根目录的方法集合

    编写程序的时候,经常需要用的项目根目录,自己总结如下: 1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法 ...

  6. Web开发(调试方法 F12)

    参考: 参考:MDN 调试HTML 参考:什么是浏览器开发者工具? 参考:检查和编辑页面与样式 工具参考:标记验证服务 工具参考:直接输入验证(直接输入HTML源码进行在线检查) 目录: 1.相关快捷 ...

  7. 【转】C#(ASP.Net)获取当前路径的方法集合

    转自:http://www.gaobo.info/read.php/660.htm //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Asse ...

  8. BGFX 渲染引擎中着色器代码的调试方法

    在实时渲染的图形开发中,着色器代码(Shader)越来越复杂,于是单纯的靠经验和不断试错的开发和调试方法早已不能满足实际需求.使用调试工具进行调试,成为开发中重要的方法.Bgfx 是一款跨平台.抽象封 ...

  9. Asp.net Mvc模块化开发之“开启模块开发、调试的简单愉快之旅”

    整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早 ...

随机推荐

  1. 用navcat编写定时任务调用存储过程

    最近项目需要改动比较大,数据库结构也有所改变,这时就需要转移旧数据到新库中 第一时间想到的是用代码操作,由于两个库表结构不同,实体什么的得需要重新生成 并编写转移代码,这将是很大的工作量: 然后就想着 ...

  2. 调用 C 动态库

    调用 C 动态库 由 王巍 (@ONEVCAT) 发布于 2015/11/04 C 是程序世界的宝库,在我们面向的设备系统中,也内置了大量的 C 动态库帮助我们完成各种任务.比如涉及到压缩的话我们很可 ...

  3. 欧拉函数φ(x)简要介绍及c++实现

    我还是很喜欢数论,从此吃喝不问,就此沉沦. 欧拉函数φ(x)的值为在[1,x)的区间内与x互质的数的个数 通式:    其中p1, p2……pn为x的所有质因数,x是不为0的整数.φ(1)=1. 注意 ...

  4. 51nod——1174 区间中最大的数(ST)

    题目链接 给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少. 例如: 1 7 6 3 1.i = 1, j = 3,对应的数为7 6 3,最大的数 ...

  5. Elementary OS上eclipse卡死问题

    解决: 1.可以用  sudo ./eclipse -vm /home/username/jdk_path/bin/java 启动但是启动后仍有显示问题. 2. 修改 eclipse.ini 在 -- ...

  6. The twelve Day-前端之html

    前端知识之html内容 HTML介绍 1.web服务本质 import socket sk = socket.socket() sk.bind(()) sk.listen() while True: ...

  7. include/autoconfig.mk

    把autoconfig.mk和/include/configs/ $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/commo ...

  8. 自学入门 Python 优质中文资源索引

    所有资源基于 Python3 版本,全部中文内容,适用于 爬虫 / Web / 数据 方向,每个单元根据学习习惯从 书籍 / 文档 / 视频 中选择一类即可,建议任选一本书籍,然后配合文档类进行学习. ...

  9. 使用adb命令启查看已安装的Android应用的versionCode、versionName

    列出已经安装的应用 adb shell pm list package C:\Users\CJTDEV003>adb shell pm list package package:com.sams ...

  10. DDL、DML、DCL、DQL的理解

    DDL.DML 和 DCL 的理解 DDL(data definition language)数据库定义语言 的主要语句(操作) Create 语句:可以创建数据库和数据库的一些对象. Drop 语句 ...