.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术

.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-09
版次: 1
ISBN: 9787302505334
定价: 59.00
装帧: 其他
开本: 16开
纸张: 胶版纸
23人买过
  • 随着.NET Core 开源和跨平台的特性逐渐被广大开发者熟知和接受,有越来越多的.NET 应用从Windows 平台向Linux 平台进行迁移,有越来越多的开发者在Linux 或者macOS 操作系统上开发.NET 应用。同时,这也给之前只熟悉在Windows 平台上开发.NET 应用的开发者带来了一系列挑战。怎样在Linux 和macOS操作系统上有效地使用工具对.NET Core 应用程序进行调试,找出程序中隐藏的代码错误和内存中的问题成为保障应用程序在Linux 和macOS 上平稳运行的重要课题。本书从.NET Core概念、.NET Core 相关工具、调试器选择、调试命令介绍和多线程、内存调试实践等多个环节对.NET Core在Linux、macOS和Windows 三个操作系统上如何进行调试做了详尽的介绍。内容包括.NET Core基础知识、.NET Core 的编译、.NET Core 命令行工具、调试环境的配置、调试器的基本命令、.NET 基本调试命令、多线程、async和await、内存和垃圾收集等,分9章全面地阐述了.NET Core 跨平台调试技术。 李争  微软(中国)有限公司开发者体验与平台合作事业部资深技术顾问。专注于微软公有云平台Azure的解决方案和架构设计、Azure应用的实施,以及Azure上的开源技术等工作。曾在微软企业服务部作为原厂技术支持工程师工作多年,承担企业开发者代码调试和技术支持、Web应用前端后端代码调优,以及IIS 的问题诊断、调优、培训等工作。具有丰富的企业客户临场解决严重系统问题的经验。拥有四十多门微软认证证书,涵盖了几乎全部微软开发相关技术,同时也是一位具有十多年授课经验的微软认证讲师(MCT)。 著有《微软互联网信息服务(IIS)最佳实践》《微软开源跨平台移动开发实践》畅销图书。 目录

    丛书序Ⅰ

    推荐序Ⅲ

    前言Ⅴ

    赞誉Ⅸ

    第1章.NET Core基础知识

    1.1.NET Core到底是什么

    1.1.1从软件许可协议说开源

    1.1.2构成.NET Core的重要组件

    1.2.NET Standard又是什么

    1.3.NET Core的一些重要工具

    1.4常见问题解答

    第2章.NET Core的编译

    2.1.NET Core源代码在Linux操作系统上的编译

    2.1.1获取.NET Core源代码

    2.1.2安装编译源代码必要的工具

    2.1.3在CentOS上手工编译LLVM、Clang和LLDB

    2.1.4在Linux上编译.NET Core源代码

    2.2.NET Core源代码在Windows操作系统上的编译

    2.2.1下载和安装Visual Studio

    2.2.2安装其他必备软件

    2.2.3在Windows系统上执行.NET Core编译

    2.3.NET Core源代码在macOS操作系统上的编译

    第3章.NET Core命令行工具

    3.1.NET Core CLI的安装

    3.2创建.NET Core项目

    3.3.NET Core项目的迁移

    3.4.NET Core项目的构建

    3.5.NET Core项目的发布

    3.6对.NET Core项目进行管理

    3.6.1dotnet sln命令介绍

    3.6.2项目之间的引用管理

    3.6.3项目的包管理

    3.6.4项目引用NuGet包的恢复

    3.7.NET Core应用的执行

    3.8将.NET Core项目发布成NuGet包

    3.8.1dotnet pack命令介绍

    3.8.2dotnet nuget push命令介绍

    3.8.3dotnet nuget locals命令介绍

    3.8.4dotnet nuget delete命令介绍

    3.9dotnet相关命令的使用

    3.9.1创建解决方案和项目

    3.9.2设置项目的引用

    3.9.3添加测试工程

    第4章调试环境的配置

    4.1调试环境设置概述

    4.2Linux操作系统调试环境设置

    4.2.1在Linux上设置ulimit

    4.2.2在Linux操作系统上部署调试器

    4.2.3在Linux操作系统上抓取内存转储文件

    4.3在macOS操作系统上部署调试器

    4.4在Windows操作系统上部署调试器

    4.4.1Windows上安装Windbg

    4.4.2在Windows上抓取内存转储

    第5章调试器的基本命令

    5.1使用LLDB进行调试

    5.1.1LLDB调试器简介

    5.1.2命令行参数

    5.1.3一段用于演示的代码

    5.1.4LLDB的启动和退出

    5.1.5设置断点

    5.1.6单步调试指令

    5.1.7查看调用堆栈

    5.1.8线程切换

    5.1.9寄存器调试指令

    5.1.10查看内存数据

    5.2Windbg调试器和基本指令

    5.2.1Windbg简介

    5.2.2Windbg的启动和退出

    5.2.3Windbg设置断点

    5.2.4Windbg查看堆栈调用

    5.2.5Windbg线程相关指令

    5.2.6Windbg寄存器相关指令

    5.2.7Windbg查看内存数据

    第6章.NET基本调试命令

    6.1.NET调试扩展概览

    6.2.NET数据结构的基本知识

    6.2.1对象在内存中的形态

    6.2.2MethodTable和EEClass

    6.2.3MethodDesc

    6.3.NET调试扩展命令

    6.3.1代码和堆栈调试命令

    6.3.2CLR数据结构相关调试命令

    6.3.3内存对象分析相关命令

    6.4那些所谓的调试套路

    第7章多线程

    7.1多线程基础

    7.1.1线程的基本概念

    7.1.2.NET Core多线程同步对象

    7.2一个简单的多线程程序调试

    7.2.1MassiveThreads程序

    7.2.2LLDB调试MassiveThreads

    7.2.3Windbg调试MassiveThreads

    7.2.4MassiveThreads调试总结

    7.3程序死锁的调试

    7.3.1DBDeadlockHang应用程序

    7.3.2使用LLDB调试死锁

    7.3.3使用Windbg调试死锁

    7.3.4死锁调试总结

    第8章async和await

    8.1基于任务的异步编程模式

    8.2如何写好一个TAP异步方法

    8.2.1函数的命名和声明

    8.2.2异步方法中的代码

    8.2.3函数中的异常处理

    8.2.4异步方法执行过程中的终止

    8.2.5异步任务执行进度的通知

    8.3async/await是什么

    8.4async/await调试

    8.4.1使用LLDB在Linux上调试异步方法

    8.4.2在Visual Studio 2017上调试异步方法

    第9章内存和垃圾收集

    9.1.NET Core内存管理工作原理

    9.1.1从一行简单的代码看内存申请

    9.1.2.NET Core内存管理概览

    9.1.3托管堆内存的分代管理

    9.1.4Finalizer队列

    9.2内存泄漏调试

    9.2.1如何诊断内存泄漏

    9.2.2Linux的内存泄漏调试

    9.2.3Windows下的内存泄漏调试

    9.3Finalizer队列调试

    后记
  • 内容简介:
    随着.NET Core 开源和跨平台的特性逐渐被广大开发者熟知和接受,有越来越多的.NET 应用从Windows 平台向Linux 平台进行迁移,有越来越多的开发者在Linux 或者macOS 操作系统上开发.NET 应用。同时,这也给之前只熟悉在Windows 平台上开发.NET 应用的开发者带来了一系列挑战。怎样在Linux 和macOS操作系统上有效地使用工具对.NET Core 应用程序进行调试,找出程序中隐藏的代码错误和内存中的问题成为保障应用程序在Linux 和macOS 上平稳运行的重要课题。本书从.NET Core概念、.NET Core 相关工具、调试器选择、调试命令介绍和多线程、内存调试实践等多个环节对.NET Core在Linux、macOS和Windows 三个操作系统上如何进行调试做了详尽的介绍。内容包括.NET Core基础知识、.NET Core 的编译、.NET Core 命令行工具、调试环境的配置、调试器的基本命令、.NET 基本调试命令、多线程、async和await、内存和垃圾收集等,分9章全面地阐述了.NET Core 跨平台调试技术。
  • 作者简介:
    李争  微软(中国)有限公司开发者体验与平台合作事业部资深技术顾问。专注于微软公有云平台Azure的解决方案和架构设计、Azure应用的实施,以及Azure上的开源技术等工作。曾在微软企业服务部作为原厂技术支持工程师工作多年,承担企业开发者代码调试和技术支持、Web应用前端后端代码调优,以及IIS 的问题诊断、调优、培训等工作。具有丰富的企业客户临场解决严重系统问题的经验。拥有四十多门微软认证证书,涵盖了几乎全部微软开发相关技术,同时也是一位具有十多年授课经验的微软认证讲师(MCT)。 著有《微软互联网信息服务(IIS)最佳实践》《微软开源跨平台移动开发实践》畅销图书。
  • 目录:
    目录

    丛书序Ⅰ

    推荐序Ⅲ

    前言Ⅴ

    赞誉Ⅸ

    第1章.NET Core基础知识

    1.1.NET Core到底是什么

    1.1.1从软件许可协议说开源

    1.1.2构成.NET Core的重要组件

    1.2.NET Standard又是什么

    1.3.NET Core的一些重要工具

    1.4常见问题解答

    第2章.NET Core的编译

    2.1.NET Core源代码在Linux操作系统上的编译

    2.1.1获取.NET Core源代码

    2.1.2安装编译源代码必要的工具

    2.1.3在CentOS上手工编译LLVM、Clang和LLDB

    2.1.4在Linux上编译.NET Core源代码

    2.2.NET Core源代码在Windows操作系统上的编译

    2.2.1下载和安装Visual Studio

    2.2.2安装其他必备软件

    2.2.3在Windows系统上执行.NET Core编译

    2.3.NET Core源代码在macOS操作系统上的编译

    第3章.NET Core命令行工具

    3.1.NET Core CLI的安装

    3.2创建.NET Core项目

    3.3.NET Core项目的迁移

    3.4.NET Core项目的构建

    3.5.NET Core项目的发布

    3.6对.NET Core项目进行管理

    3.6.1dotnet sln命令介绍

    3.6.2项目之间的引用管理

    3.6.3项目的包管理

    3.6.4项目引用NuGet包的恢复

    3.7.NET Core应用的执行

    3.8将.NET Core项目发布成NuGet包

    3.8.1dotnet pack命令介绍

    3.8.2dotnet nuget push命令介绍

    3.8.3dotnet nuget locals命令介绍

    3.8.4dotnet nuget delete命令介绍

    3.9dotnet相关命令的使用

    3.9.1创建解决方案和项目

    3.9.2设置项目的引用

    3.9.3添加测试工程

    第4章调试环境的配置

    4.1调试环境设置概述

    4.2Linux操作系统调试环境设置

    4.2.1在Linux上设置ulimit

    4.2.2在Linux操作系统上部署调试器

    4.2.3在Linux操作系统上抓取内存转储文件

    4.3在macOS操作系统上部署调试器

    4.4在Windows操作系统上部署调试器

    4.4.1Windows上安装Windbg

    4.4.2在Windows上抓取内存转储

    第5章调试器的基本命令

    5.1使用LLDB进行调试

    5.1.1LLDB调试器简介

    5.1.2命令行参数

    5.1.3一段用于演示的代码

    5.1.4LLDB的启动和退出

    5.1.5设置断点

    5.1.6单步调试指令

    5.1.7查看调用堆栈

    5.1.8线程切换

    5.1.9寄存器调试指令

    5.1.10查看内存数据

    5.2Windbg调试器和基本指令

    5.2.1Windbg简介

    5.2.2Windbg的启动和退出

    5.2.3Windbg设置断点

    5.2.4Windbg查看堆栈调用

    5.2.5Windbg线程相关指令

    5.2.6Windbg寄存器相关指令

    5.2.7Windbg查看内存数据

    第6章.NET基本调试命令

    6.1.NET调试扩展概览

    6.2.NET数据结构的基本知识

    6.2.1对象在内存中的形态

    6.2.2MethodTable和EEClass

    6.2.3MethodDesc

    6.3.NET调试扩展命令

    6.3.1代码和堆栈调试命令

    6.3.2CLR数据结构相关调试命令

    6.3.3内存对象分析相关命令

    6.4那些所谓的调试套路

    第7章多线程

    7.1多线程基础

    7.1.1线程的基本概念

    7.1.2.NET Core多线程同步对象

    7.2一个简单的多线程程序调试

    7.2.1MassiveThreads程序

    7.2.2LLDB调试MassiveThreads

    7.2.3Windbg调试MassiveThreads

    7.2.4MassiveThreads调试总结

    7.3程序死锁的调试

    7.3.1DBDeadlockHang应用程序

    7.3.2使用LLDB调试死锁

    7.3.3使用Windbg调试死锁

    7.3.4死锁调试总结

    第8章async和await

    8.1基于任务的异步编程模式

    8.2如何写好一个TAP异步方法

    8.2.1函数的命名和声明

    8.2.2异步方法中的代码

    8.2.3函数中的异常处理

    8.2.4异步方法执行过程中的终止

    8.2.5异步任务执行进度的通知

    8.3async/await是什么

    8.4async/await调试

    8.4.1使用LLDB在Linux上调试异步方法

    8.4.2在Visual Studio 2017上调试异步方法

    第9章内存和垃圾收集

    9.1.NET Core内存管理工作原理

    9.1.1从一行简单的代码看内存申请

    9.1.2.NET Core内存管理概览

    9.1.3托管堆内存的分代管理

    9.1.4Finalizer队列

    9.2内存泄漏调试

    9.2.1如何诊断内存泄漏

    9.2.2Linux的内存泄漏调试

    9.2.3Windows下的内存泄漏调试

    9.3Finalizer队列调试

    后记
查看详情
相关图书 / 更多
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET并发编程实战
叶伟民 译;[美]里卡尔多·特雷尔(Riccardo Terrell) 著
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NETCore底层入门
老农、刘浩杨 著
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET性能优化
[美]萨沙·戈德斯汀(Sasha Goldshtein) 迪马·祖巴列夫(Dim
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NETCore实战:手把手教你掌握380个精彩案例/微软技术开发者丛书
周家安 编
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET框架程序开发与应用
张永财 著
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET项目开发教程
余秋明 著
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.Net项目开发实践
周清平、颜一鸣、刘彬 编
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET平台项目设计与开发
代劲
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NETCompactFrameworkPocketGuide(PocketReference(O'Reilly))
Wei-Meng Lee 著
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET内存管理宝典
康拉德·科克萨(Konrad Kokosa) 著
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET 框架开发人员参考手册 (系统构架分册)
张志学
.NET Core 2.0 应用程序高级调试——完全掌握Linux、macOS和 Windows跨平台调试技术
.NET Web企业应用开发实战
黄锐军
您可能感兴趣 / 更多