因系统漏洞而中毒引起的问题

本文描述了在使用VS.NET2003进行编译时遇到的System.ArithmeticException异常问题,并提供了可能的解决方案,包括重新安装VS.NET及应用微软发布的GDI+漏洞补丁。

环境:win2000pre+VS.NET 2003
问题:几乎每个例子编译时都会提示:“未处理的“System.ArithmeticException”类型的异常出现在 system.drawing.dll 中。其他信息: 算术运算中发生溢出或下溢。”之后我请教过别人,但他们的办法我试后无效。我曾怀疑是编译器的问题,但在网上DOWN了三个IOS文件,安装后出现同样的问题,另外,我按书中打源代码编译时问题一样出现。

解决办法:

如果是每个例子都无法编译,那只能肯定是VS.NET未安装好。最简单的办法是安装一个“干净的”的Windows,然后先安装VS.NET,成功以后再安装其它软件。另一原因是病毒影响,GDI+(刚好在System.Drawing.DLL中)有个漏洞,可被病毒利用,微软发布过相关补丁。

 

### 桌面窗口文件占用内存过高是否由病毒引起 在排查桌面窗口文件占用内存过高的问题时,需要综合考虑系统状态、进程行为以及是否存在异常活动。如果桌面窗口文件(如`explorer.exe`)占用40%的内存,这可能并非完全由病毒引起,但也需要进一步验证是否存在恶意程序或系统配置问题。 #### 1. 系统正常情况下的内存占用 通常情况下,`explorer.exe`作为Windows系统的桌面管理进程,其内存占用会因系统运行的应用程序数量和资源使用情况而有所不同。一般来说,`explorer.exe`的内存占用在几百MB到1GB之间是正常的[^1]。如果其内存占用超过系统总内存的40%,则可能存在以下几种情况: - **系统资源分配问题**:某些应用程序可能会导致系统资源分配不当,从而影响`explorer.exe`的内存使用。 - **内存泄漏**:某些应用程序或驱动程序可能存在内存泄漏问题,导致`explorer.exe`占用过多内存[^2]。 - **恶意软件感染**:病毒或恶意软件可能会伪装成系统进程(如`explorer.exe`),从而占用大量内存并破坏系统稳定性。 #### 2. 排查方法 以下是具体的排查步骤: ##### (1) 检查进程真实性 通过任务管理器右键单击`explorer.exe`进程,选择【打开文件位置】,确认该进程是否位于`C:\Windows\System32`目录下[^3]。如果文件位置异常或没有签名信息,则可能存在病毒或恶意软件。 ##### (2) 使用杀毒软件扫描 运行可靠的杀毒软件(如Windows Defender、卡巴斯基等)进行全面扫描,检查系统中是否存在恶意程序或病毒。特别关注启动项和服务列表,确保没有可疑的第三方程序运行。 ##### (3) 监控内存使用情况 使用内存分析工具(如Windows的任务管理器、Process Explorer或Resource Monitor)监控内存使用情况,查看是否有其他进程占用大量内存或与`explorer.exe`存在关联[^2]。此外,可以记录内存占用随时间的变化趋势,判断是否存在异常增长。 ##### (4) 检查系统日志 打开事件查看器(Event Viewer),检查系统日志和应用程序日志中是否存在与`explorer.exe`相关的错误或警告信息。这些日志可以帮助定位问题的根本原因。 ##### (5) 更新系统和驱动程序 确保操作系统和所有驱动程序均为最新版本,以避免已知漏洞被利用。定期更新还可以修复可能导致内存占用过高的Bug。 ##### (6) 检查CPU降温软件的影响 如果系统安装了CPU降温软件,可能会导致CPU利用率显示为100%,但这通常是由于降温软件利用了空闲时间进行降温操作,并不会影响系统正常运行[^4]。因此,可以暂时禁用此类软件,观察`explorer.exe`的内存占用是否有所改善。 #### 3. 结论 如果经过上述排查后,发现`explorer.exe`的内存占用仍然异常高且无法解释,则建议备份重要数据后重装系统,以彻底清除潜在的病毒或系统问题。 ```python # 示例代码:使用Python检查explorer.exe的内存占用 import psutil def check_explorer_memory(): for proc in psutil.process_iter(['pid', 'name', 'memory_info']): if proc.info['name'] == 'explorer.exe': memory_usage = proc.info['memory_info'].rss / (1024 * 1024) # 转换为MB print(f"Explorer.exe 内存占用: {memory_usage:.2f} MB") return memory_usage check_explorer_memory() ``` ###
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值