熟语说“常在河边走,哪能不湿鞋”,在现实中我想说:“代码写多了,总会遇到奇怪的bug”,遇到bug不可怕,可怕的是不自己不知道这么解决,有些bug能当时解决,有些在自己知识水平提高后知道如何解决。还有些依然迷茫,在这做些总结归纳,顺便请教下牛人也是好的。

一、在一次调试样式的过程中,发现有个button死活不能居中,使用各种设置,如text-align等均无效,而在另一个页面中却很正常,百事不得其解,相同的样式设置但是就是无效,让人摸不住头脑。对于这样的问题,只是单独某个页面会出现,但是有部分页面不出现,那这个问题还是比较好定位的,比较下两个页面的异同就可以了,通过排除各种相关因素后发现,在不能居中的html中少了一个奇怪的头<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。

在加上这个头部标签后发现正常显示,最后查找资料才知道这个是有用的信息头部,去掉后的默认版本不一样导致的。但是这个问题比较不容易发现的就是我们一般会将这样的头部去掉,忽略掉这个头部。

二、我做了个列表,然后想做一个全选的功能,然后就在头部使用一个checkBox来设置,当时的jquery写法是这样的:$(v).attr("checked", true);,当我信心满满的做完后发现一个bug,在我设置为false的时候能够起效果,但是当我设置为true时,下面的列并没有打上勾,然后我跟踪这个元素,发现这个元素的check确实设置为true了。但是就是没有打上勾。一直不明白为什么?通过在网上的列子也是一样的写法,并没有什么问题。那究竟是哪里出了问题。最后请教前段的同事才发现在原来docoment的属性是有两种的。还有一个是设置显示方式的,只有通过这个设置方式:$(v).prop("checked", true);chechBox才能显示打勾的样式。

ttributes和properties之间的差异在特定情况下是很重要。jQuery 1.6之前 ,.attr()方法在取某些 attribute 的值时,会返回 property 的值,这就导致了结果的不一致。从 jQuery 1.6 开始, .prop()方法 方法返回 property 的值,而 .attr() 方法返回 attributes 的值。例如, selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected 应使用.prop()方法进行取值或赋值。 在jQuery1.6之前,这些属性使用.attr()方法取得,但是这并不是元素的attr属性。他们没有相应的属性(attributes),只有特性(property)。

三、jquery的日期转换问题。当在chorme中使用new Date("2015-01-01")是没有问题的。但是在IE中会发现并没有转成日期,而是一个undefine,最后发现在IE中这个日期格式是不被认可的。需要使用new Date("2015/01/01")格式。

四、一个方法耗时方法没有完全执行完全,由于有个方法要给整个公司员工发一封考勤邮件,但是这个方法在实际使用时发现总是执行到一半就中断执行了。通过日志发现这个方法最多只能执行两分钟的时间,然后就引发异常:Asp.Net正在中止线程引发的问题。

Asp.Net做的一个同步程序,同步的方法是通过JQuery的Ajax调用,同步过程大概要执行20多分钟,程序部署到服务器后执行一段时间后就弹出执行失败的对话框,日志记录的错误信息是“正在中止线程”。

查错过程:

1、根据“AspNet 正在中止线程“进行搜索,得到的结果基本都是跟”Response.End“有关的,但我的代码中没有Response.End,所以基本可以排除;

       2、因为使用JQuery的Ajax,所以猜想会不会是因为Ajax超时导致,修改代码将返回状态弹出:发现返回的status为”error“,也尝试过将timeout设置为一个较大值,发现问题依然存在,所以可以排除是JQuery Ajax超时;

       3、使用Fiddler2进行监控,发现执行一段时间后报了500错误,显示的错误详细信息如下图:到了这一步就好办了,可以知道是httpRuntime超时了,配置Webconfig就可以了,如下图:设置好好后发布到服务器,再次运行程序,问题解决。

奇怪的是在本机运行的时候即使没有设置executionTimeout也不会出现问题,原因是在本机的Webconfig中的compilation节点的有个debug属性设置为true,发布后的Webconfig中的compilation没有debug节点,当debug属性为false时,httpRuntime的executionTimeout属性才会生效。

五、这个是我到现在也无法解决的问题。我有一个项目使用的是IE8的浏览器,而且不能更换浏览器和系统。但是这个程序在运行中总是会不定时的发生卡顿现象,突然用着的程序被卡着几秒,而且是无规律的的。有的时候严重有的时候没问题。即使是我使用了前台开ActiveX控件来跟踪前台日志也未发现原因,应为在日志中时间总是很正常的。但是具体到使用中就会发现这个bug。这个问题一直困扰着这个项目。后来由于版本升级等原因,到现在依然未能解决。我一直耿耿于怀,因为这个唯一的一个我一直无法搞定的bug,以后估计也不会有机会搞定它了。只能猜测可能跟环境有关系,在大辐射场景工作,还是就是电脑原因。期待点播。

奇怪的BUG的更多相关文章

  1. 奇怪的bug(ant-design)

    ant-motion模板代码启动报错. 多了一层 import 会导致 less 编译的顺序发生变化,很奇怪的问题,还需要再深入看看.目前 ant-d.less 可以先改成这样来解决: + @impo ...

  2. 小程序制作中 一个奇怪的bug

    事情是这样的:原一个购物车 合并本地数据和服务器 数据方法如下 ,正常测试没有问题,当每次重新登录,会调用到这个方法,就会莫名其妙的卡主,debug 发现 a1.length =77731508 导致 ...

  3. 奇怪的bug:javascript不执行

    背景:有人想要个简单的js效果,点击某个菜单,其他菜单收起. 说了下思路,结果~~ 只好直接写了一个,代码如下: <!DOCTYPE html> <html> <head ...

  4. 奇怪的bug,不懂Atom在添加markdown-themeable-pdf,在配置好phantomjs的情况下报错

    本来打算用一下atom但是导出pdf报错,可是在预览的情况下就没有问题,顺便吐槽一下谷歌浏览器自己的markdown在线预览插件无法适配,用搜狗搭载谷歌的插件才能导出pdf,一下感觉逼格少了很多,等忙 ...

  5. ComboBox可搜索下拉框的使用注意事项,简单记录以及我遇到的一些奇怪的bug

    前几天做一个react的项目的时候需要用一个可搜索的下拉框ComboBox,上代码: <ComboBox // className={comboxClassName} items={storeA ...

  6. 配置进程外Session 同时解决一个奇怪的BUG 因为SQLserver 服务器名不是默认的.或者localhost而引发的一系列问题

    用公司的电脑学习如鹏网的视频,开发一个项目,用到了进程外session,因为公司电脑SQLServer 是2008 服务器名称是.  然后参考这篇文章进行设置进程外session 很顺利 完成了设置. ...

  7. 奇怪的transform bug

    对一个元素使用transform:rotate 进行旋转,造成: 父元素的背景图位置偏移,往下降,背景图也会变模糊一些 造成重绘,导致该元素后面的兄弟元素受到影响,变得模糊,并且无法遮盖住父元素的背景 ...

  8. 移动端一个奇怪的触摸bug

    这两天遇到一个很奇怪的bug,在移动端,一个页面里所有的input框都不能点击,我查了一下,里面的没有设置readonly属性,只要页面滚动一下就可以用了,而且,只要我在真机测试的时候,f12开发者模 ...

  9. bug: 在缓存行高时,总是记录错误.

    一,现象: 1.在 cell 中添加了一个 label, 并对 label 设置了 attributeText, 结果滑动的过程中,cell 的高度总是不对,多次出现下一个 cell 覆盖上一个 ce ...

随机推荐

  1. OD使用教程9

    先运行程序打开about,发现这是一个未注册的软件需要注册后才能使用里面的工具,所以随便注册一下,跳出一个提示说注册的是非法的邮箱,所以就可以以此做为突破口来破解这个程序 将提示的语句作为关键字去找出 ...

  2. scrapy-1.2.1安装失败之解决方法

    前几天重装了win10 64位系统,安装了python-3.5,但是用pip安装scrapy模块时出现如下错误: 看起来是lxml安装的时候出错了,于是先pip install lxml,出现了和上面 ...

  3. Devexpress 汉化

    DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.对于较老的版本(例如之前项目中遇到的dev9),对于汉化(应该说本地化Localization)支持 ...

  4. 我与solr(二)--导入mysql数据库

    关于solr的搭建详见上一篇的随笔. 步骤1: 在webapps中solrhome下新建一个文件夹名字叫做mynode(名字不固定,可以随便取,但是这个名字在后面的配置中会有所关联.)然后在mynod ...

  5. DIY操作系统(一)

    先说几句题外话: 回想第一次看到<30天自制操作系统>这本书时,就被这快餐般的标题深深吸引了,我无法想象如此复杂有内涵的内容能在30天就弄出来,直到我花了一个多月看到这本书的第9天时,我放 ...

  6. Ajax&json

    通过json-lib方式 复杂情况:

  7. PYTHON学习之路_PYTHON基础(4)

    学习内容: 1.Python函数的基本语法 2.Python函数的返回值与变量 3.Python嵌套函数 4.Python递归函数及实例(二分查找) 5.Python匿名函数 6.Python内置方法 ...

  8. STL学习

    //vector的使用 //相当于数组,常用的 添加 删除 清空 测长 操作 #include<iostream> #include<algorithm> #include&l ...

  9. wpa_supplicant代码走读

    wpa_supplicant_add_iface wpa_supplicant_init_iface wpa_supplicant_set_driver wpa_config_read wpa_sup ...

  10. nginx.conf配置(支持thinkphp)

    error_log /home/wwwlogs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; #Specifies the va ...