• 2024-07-02把异常当做业务逻辑?那你可能无法承受
    一:背景1.讲故事在项目中摸爬滚打几年,应该或多或少的见过有人把异常当做业务逻辑处理的情况(┬_┬),比如说判断一个数字是否为整数,就想当然的用trycatch包起来,再进行 int.Parse,如果抛异常就说明不是整数,简单粗暴,也不需要写正则或者其他逻辑,再比如一个字符串强制转化为Enum,直
  • 2024-06-23初阶《操作符详解》 3. 移位操作符
    3.移位操作符<< 左移操作符>> 右移操作符注:移动的是二进制位,移位操作符的操作数只能是整数。一个存储的二进制码分原码、反码、补码1.十进制数据的二进制表现形式就是原码,原码最左边的一个数字就是符号位,0为正,1为负。2.正的整数的原码、反码、补码相同3.负的
  • 2024-06-20A类IP介绍
    1)A类ip给谁用:        给广域网用,公网ip使用A类地址,作为公网ip时,Ip地址是全球唯一的。2)基本介绍     ip地址范围     -理论范围     0.0.0.0~127.255.255.255:00000000000000000000000000000000~0111111111111111111111111111
  • 2024-06-14【C语言】13.数据在内存中的存储
    文章目录1.整数在内存中的存储2.大小端字节序和字节序判断2.1什么是⼤⼩端?2.2为什么有⼤⼩端?2.3练习2.3.1练习12.3.2练习22.3.3练习32.3.4练习42.3.5练习52.3.6练习63.浮点数在内存中的存储3.1练习3.2浮点数的存储3.2.1浮点数存的过程3.2.2浮点数取的过
  • 2024-06-13Conntrack 监控,别等故障了再回来加监控
    这是专栏第8篇,介绍一下node-exporter的conntrack插件。这个插件大家平时关注可能较少,但是在一些场景下,比如防火墙、NAT网关等,需要监控conntrack表的使用情况。我就遇到过一次生产事故,就是因为conntract表满了,导致新连接无法建立,所以这个插件还是很有用的。conntrack
  • 2024-06-13记一次 .NET某工厂报警监控设置 崩溃分析
    一:背景1.讲故事前些天有位朋友在微信上丢了一个崩溃的dump给我,让我帮忙看下为什么出现了崩溃,在Windows的事件查看器上显示的是经典的访问违例,即c0000005错误码,不管怎么说有dump就可以上windbg开干了。二:WinDbg分析1.程序为谁崩溃了在Windows平台上比较简单,可以用
  • 2024-06-12Conntrack 监控,别等故障了再回来加监控
    这是专栏第8篇,介绍一下node-exporter的conntrack插件。这个插件大家平时关注可能较少,但是在一些场景下,比如防火墙、NAT网关等,需要监控conntrack表的使用情况。我就遇到过一次生产事故,就是因为conntract表满了,导致新连接无法建立,所以这个插件还是很有用的。connt
  • 2024-06-12记一次 .NET某游戏币自助机后端 内存暴涨分析
    一:背景1.讲故事前些天有位朋友找到我,说他们的程序内存会偶发性暴涨,自己分析了下是非托管内存问题,让我帮忙看下怎么回事?哈哈,看到这个dump我还是非常有兴趣的,居然还有这种游戏币自助机类型的程序,下次去大玩家看看他们出币的机器后端是不是C#写的?由于dump是linux上的程序,刚好windb
  • 2024-06-03数据在内存中的存储<C语言>
    导言       在计算机中不同类型的数据在计算机内部存储形式各不相同,弄懂各种数据在计算机内部存储形式是有必要的,C语言的学习不能浮于表面,更要锻炼我们的“内功”,将来在写程序的时候遇见各种稀奇古怪的bug时,也便能迎刃而解,所以本文将着重介绍,整数在内存中的存储、大小
  • 2024-05-31初识C语言--第二天
       ---取地址符:&      & 叫做取地址符;&+变量名:可以获取变量在内存中的地址(通过%p可以打印在内存中的地址)示例:输出结果:(注:Linux64位操作系统环境下,打印出来的地址会很大,因为在64位操作系统中,地址变量在内存中占有8个字节)---C语言的输入函数scanf
  • 2024-05-25整数与浮点数在内存中的存储
    整形数据类型的存储(通常存的是二进制的补码)大端(存储)模式:是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,存储在内存的低地址处。小端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,存储在内存的高地址处。 判断高低地址:int
  • 2024-05-18全局句柄表
    1.全局句柄表句柄介绍句柄一共有3种全局句柄表进程线程句柄表私有句柄表进程私有的窗口句柄全局句柄表在全局句柄表种只有进程和线程对象OpenProcess/OpenThread权限是否继承和id获取创建进程的handle的流程:获取到进程id取全局句柄表种找到进程对象,把进程对象
  • 2024-05-18蓝屏分析
    04蓝屏分析直接上蓝屏代码#include<ntifs.h>VOIDUnload(PDRIVER_OBJECTpDriver){ DbgPrint("DriverUnload\r\n");}NTSTATUSDriverEntry(PDRIVER_OBJECTpDriver,PUNICODE_STRINGpReg){ pDriver->DriverUnload=Unload; //DbgBreakPoint(); Dbg
  • 2024-05-11在win10右下角显示时间秒
    1、首先按组合键“win+r”打开运行窗口,在窗口中输入regedit,按回车键进入注册表编辑器或者按组合键“win+x”在PowerShell中执行命令regedit(效果相同)进入注册表编辑器之后依次找到:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersio\Explorer\Advanced,新建DWORD(32
  • 2024-05-07网络丢包排查方法
    一、硬件网卡丢包1.RingBuffer溢出RingBuffer(环形缓冲区)溢出是指当往一个已经满了的环形缓冲区中写入数据时,会覆盖之前存储在缓冲区中的数据。这种情况通常发生在写入速度快于读取速度的情况下。1.查看RingBuffer满而丢弃的包统计(fifo字段)$ethtool-Seth0|greprx_fif
  • 2024-04-20CRT配色
    目录最终效果前言导入200种配色方案固定喜欢的配色自动循环配色关键字高亮导入时用的PY脚本浅色ini脚本深色ini脚本最终效果前言导入200种配色方案#$language="Python"#$interface="1.0"#ImportAdditionalColorSchemesIntoGlobalConfig.py''''Description:
  • 2024-04-17记一次 .NET某炉膛锅炉检测系统 崩溃分析
    一:背景1.讲故事上个月有个朋友在微信上找到我,说他们的软件在客户那边隔几天就要崩溃一次,一直都没有找到原因,让我帮忙看下怎么回事,确实工控类的软件环境复杂难搞,朋友手上有一个崩溃的dump,刚好丢给我来分析一下。二:WinDbg分析1.程序为什么会崩溃windbg有一个厉害之处在于双
  • 2024-04-12大端与小端
    小端:低字节存在低内存地址大端:低字节存在高内存地址举例:十进制数8,假设整型占4个字节8的二进制:00000000000000000000000000004000高字节       ---------->        低字节内存地址:低内存地址       ---------->    高
  • 2024-04-08Linux之网络排错
    Linux网卡收包流程如下网卡收到数据包将数据包从网卡硬件缓存移动到服务器内存中(DMA方式,不经过CPU)通过硬中断通知CPU处理CPU通过软中断通知内核处理经过TCP/IP协议栈处理应用程序通过read()从socketbuffer读取数据网卡丢包我们先看下ifconfig的输出:#ifconfigeth
  • 2024-04-03Advanced .Net Debugging 6:程序集加载器
    一、简介这是我的《Advanced.NetDebugging》这个系列的第六篇文章。这篇文章的内容是原书的第二部分的【调试实战】的第四章。这章主要讲的是程序集加载器,比如:CLR加载器简介、简单的程序集加载故障、加载上下文故障、互用性与DllNotFoundException和轻量级代码生成的
  • 2024-03-28记一次 .NET某防伪验证系统 崩溃分析
    一:背景1.讲故事昨晚给训练营里面的一位朋友分析了一个程序崩溃的故障,因为看小伙子昨天在群里问了一天也没搞定,干脆自己亲自上阵吧,抓取的dump也是我极力推荐的用procdump注册AEDebug的方式,省去了很多沟通成本。二:WinDbg分析1.为什么会崩溃windbg有一个非常强大的点就是
  • 2024-03-25记一次 .NET某半导体CIM系统 崩溃分析
    一:背景1.讲故事前些天有一位朋友在公众号上找到我,说他们的WinForm程序部署在20多台机器上,只有两台机器上的程序会出现崩溃的情况,自己找了好久也没分析出来,让我帮忙看下怎么回事,就喜欢这些有点调试基础的,dump也不需要我指导怎么去抓,接下来我们就上windbg开始分析吧。二:WinDbg分
  • 2024-03-20数据在内存中的存储
    文章目录数据在内存中的存储整数在内存中的存储大小端字节序存储浮点数在内存中的存储存取数据在内存中的存储整数在内存中的存储整数在内存中是以补码的形式存储的整数的二进制表示有三种:原码、反码、补码对于有符号整数,它的最高位视为符号位,1表示负,0表示正。
  • 2024-03-19.NET 内存碎片化分析
    一:背景1.讲故事上个月有位朋友wx找到我,说他的程序存在内存泄漏问题,寻求如何解决?如下图所示:从截图中可以看出,这位朋友对windbg的操作还是有些熟悉的,可能缺乏一定的实操经验,所以用了几个命令之后就不知道怎么排查下去了。既然找到我,那就以我的个人经验在他的dump上继续分析
  • 2024-03-19记一次 .NET某施工建模软件 卡死分析
    一:背景1.讲故事前几天有位朋友在微信上找到我,说他的软件卡死了,分析了下也不知道是咋回事,让我帮忙看一下,很多朋友都知道,我分析dump是免费的,当然也不是所有的dump我都能搞定,也只能尽自己最大能力帮助别人缩小问题范围吧,既然dump有了,接下来就开启分析之路。二:WinDbg分析1.为什