热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

codeproject调试技巧学习笔记

http:www.codeproject.comKBtracemytracer.aspxAsimplesolutiontoseetheinsideofyourcodeKEYWORD

http://www.codeproject.com/KB/trace/mytracer.aspx

A simple solution to see the inside of your code

KEYWORD:  ipc,

大概意思是,在目标程序使用trace输出,然后在自己的程序使用IPC技术,获取输出。之后又查了一下什么是trace,其实和console差不多,不过他默认输出到console,也可以配置输出到文本。

放在程序代码中间,会对代码性能有点影响。

 

http://www.codeproject.com/KB/trace/debugwriter.aspx 

DebugWriter - A simple property value dumper

无聊。。。浪费我5分钟去度。就是用反射获取对象的值,然后打印出来,这样就不需要一个个去写。

Debug.WriteLine(finalResult); 

 

http://www.codeproject.com/KB/trace/minememoryreader.aspx

Minesweeper, Behind the scenes

算是有点难度的文章,就是读取另外一个进程的内存数据。 整篇文章废话了40%,之后才出现关键词:the answer resides in an API called ReadProcessMemory

在kernel32.dll里面,提供了读取内存数据的方法,不过需要指定内存的偏移量。 

kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

System.Diagnostics.Process.GetProcessesByName("winmine"); 读取指定的进程。

 

这边文章之后,找到了一篇更加恐怖的

http://www.codeproject.com/KB/cs/sojaner_memory_scanner.aspx

How to write a Memory Scanner using C#

大概介绍了一种内存扫描的方法,就是逐个去扫描,直到得到需要的数字、结果。 

 

http://www.codeproject.com/KB/trace/releasemodebreakpoint.aspx

A Release Mode Breakpoint Using Reflection Emit

这个不解释了,就是用emit制造一个breakpoint

 

http://www.codeproject.com/KB/trace/tracking_of_bugs.aspx

Bug Fix Tracking in C# Executable Files

这篇文章提到了一个有趣的名词: Defect Tracking System。 google了一下,找到了一张图:

 

 

 

http://www.codeproject.com/KB/trace/XTraceCS.aspx

XTrace.cs - C# trace with printf formatting

一篇很简单的文章,但是给出了个不错的体验,当使用debug.write的时候,输出点击会自动导航到对应的位置。 

 

 


转载于:https://www.cnblogs.com/zc22/archive/2010/03/08/1680507.html


推荐阅读
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 深入理解 JMeter 定时器
    本文详细介绍了JMeter中定时器的功能和使用方法,探讨了其在性能测试中的重要性,并结合实际案例解释了如何合理配置定时器以模拟真实的用户行为。文章还涵盖了定时器的执行顺序及其与其他元件的相互作用。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细介绍如何通过设置SSH密钥来获取连接GitHub远程仓库的权限,包括生成密钥、添加到GitHub账户以及验证连接等步骤。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • KMP算法是处理字符串匹配的一种高效算法它首先用O(m)的时间对模板进行预处理,然后用O(n)的时间完成匹配。从渐进的意义上说,这样时间复 ... [详细]
  • 2017-2018年度《网络编程与安全》第五次实验报告
    本报告详细记录了2017-2018学年《网络编程与安全》课程第五次实验的具体内容、实验过程、遇到的问题及解决方案。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
author-avatar
扫地僧2502896033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有