EXE项目和DLL项目远程调试、Props设置说明
通用宏设置
exe项目根据
平台
、配置
设置输出路径;dll项目根据
平台
、配置
设置输出路径,dll文件
、lib文件
分别输出到自己的路径;中间文件根据
平台
、配置
、项目
设置输出路径;设置
远程调试命令
、远程工作目录
、远程服务器目录
、部署目录
等;
Common.props,exe项目和dll项目添加。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<AppOutDir>$(SolutionDir)_Bin\$(PlatformShortName)$(Configuration)</AppOutDir>
<DllOutDir>$(SolutionDir)_Dll\$(PlatformShortName)$(Configuration)\bin</DllOutDir>
<IntOutDir>$(SolutionDir)_Tmp\$(ProjectName)\$(PlatformShortName)$(Configuration)</IntOutDir>
<IncOutDir>$(SolutionDir)_Dll\inc</IncOutDir>
<LibOutDir>$(SolutionDir)_Dll\$(PlatformShortName)$(Configuration)\lib</LibOutDir>
<RemoteDbgCmd>C:\Bin\GlDevDemo\GlDevDemod.exe</RemoteDbgCmd>
<RemoteDbgWorkDir>C:\Bin\GlDevDemo</RemoteDbgWorkDir>
<RemoteServer>VMLINK001</RemoteServer>
<DeployDir>\\$(RemoteServer)\Bin\GlDevDemo</DeployDir>
</PropertyGroup>
<PropertyGroup>
<!-- exe、dll等文件输出的目录 -->
<OutDir Condition="'$(ConfigurationType)'=='Application'">$(AppOutDir)\</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(DllOutDir)\</OutDir>
<!-- obj等中间文件输出的目录 -->
<IntDir>$(IntOutDir)\</IntDir>
<!-- 头文件目录 -->
<IncludePath>$(IncOutDir);$(IncludePath)</IncludePath>
<!-- 库文件目录 -->
<LibraryPath>$(LibOutDir);$(LibraryPath)</LibraryPath>
<!-- 输出文件的文件名 -->
<TargetName Condition="'$(Configuration)'=='Debug'">$(ProjectName)d</TargetName>
<TargetName Condition="'$(Configuration)'=='Release'">$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<!-- 让lib在debug和release情况下名称相同,方便导入 -->
<ImportLibrary Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(LibOutDir)\$(ProjectName).lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
</Project>
DLL项目宏设置
- 利用生成后事件复制
头文件
、dll文件
、pdb文件
到指定文件夹;
PostBuild.props,dll项目添加。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<PostBuildEvent>
<Command>@echo off
setlocal enabledelayedexpansion
rem 创建本项目的头文件路径
set dir="$(IncOutDir)"
if not exist %dir% (
md %dir%
)
rem 创建输出路径,确保路径存在
set dir="$(AppOutDir)"
if not exist %dir% (
md %dir%
)
rem 源文件
set src[0]="$(ProjectDir)GlXdma.h"
set src[1]="$(TargetPath)"
set src[2]="$(TargetDir)$(TargetName).pdb"
rem 目标文件
set dst[0]="$(IncOutDir)\GlXdma.h"
set dst[1]="$(AppOutDir)\$(TargetFileName)"
set dst[2]="$(AppOutDir)\$(TargetName).pdb"
rem 复制文件
for /L %%n in (0, 1, 2) do (
echo copy !src[%%n]! to !dst[%%n]!
copy !src[%%n]! !dst[%%n]!
)
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
</Project>
添加属性
项目的属性管理器中添加好上面的Props文件
远程调试设置
项目->调试,选中
远程 Windows 调试器
,按下图设置好项目属性->部署
参考
- 另用
secpol.msc
打开本地安全策略
,添加账户作为服务登陆
权限,以启用Visual Studio 2019 Remote Debugger
服务:
经测试桌面程序不能用服务调试。
EXE项目和DLL项目远程调试、Props设置说明的更多相关文章
- JavaWeb项目的部署以及远程调试
Linux环境下软件的安装 Linux环境下的程序的安装.更新.卸载和查看. rpm 命令:相当于windows程序的添加/卸载程序,进程程序的安装,查看,卸载. 本地程序安装:rpm -ivh 程序 ...
- springboot项目使用idea开启远程调试
远程调试是调试服务器的有效手段,远程服务器运行的应用可以在本地代码中打断点调试,能让开发人员准确定位服务器上的问题. 一.开启远程调试前提:本地代码与服务器代码一致, 二.开启远程调试步骤 1.开发工 ...
- 七. jenkins部署springboot项目(4)-linux环境--远程调试
前提:linux环境,jenkins服务器和springboot服务器不在一台机器. linux环境,jenkins这里就不说了,主要说下和windows环境的不同. 1. jenkins服务器连接s ...
- Eclispe远程调试tomcat设置
首先在catelina.sh中添加 JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=23787,server=y,su ...
- VS调试DLL项目代码
如果DLL有对应的lib文件,并且dll工程和调用它的exe属于同一个解决方案,直接打断点调试就可以.例如OSG解决方案中的例子程序可以直接调试osgUtil模块的代码. 如果A.exe项目和A.dl ...
- 看图说话,idea 远程调试 tomcat下项目
tomcat中部署了项目,准备测试远程调试. 1.配置idea 2. 修改catalina.bat,并启动tomcat catalina.bat: ...rem 下面的参数就是从idea配置中复制过来 ...
- Java项目开启远程调试(tomcat、springboot)
当我们运行一个项目的时候,一般都是在本地进行debug.但是如果是一个分布式的微服务,这时候我们选择远程debug是我们开发的利器. 环境apache-tomcat-8.5.16 Linux 如何启用 ...
- VC++ 6.0远程调试配置
VC开发环境之所以提供远程调试的能力,是因为有些情况下单机调试会让你崩溃掉...比如,调试GUI程序的WM_PAINT消息,因为要单步调试,所以调试器会对界面的重绘产生副作用(Heisenberg不确 ...
- DELPHI XE8 远程调试
最近公司项目遇到问题需要远程调试搜索了一下怎么用 发现网上能找到最新的是XE2上的说明现在已经有一些不同了 按照上面的方法不能调试成功 经过测试XE8的方法如下:1.项目编译设置:2.在被调试电脑上运 ...
- VS2010远程调试C#程序
场景: 客户的计算机运行程序出现异常,由于办公场所不在一起,无法直接在客户的机器上调试.此时希望可以直接在开发人员的计算机(本地机器)上远程调试客户机上的软件. 假设: 本地机器的系统账户为 GIS, ...
随机推荐
- JZOJ 6904. 【2020.11.28提高组模拟】T3 树上询问(query)
题目 你有一棵 \(n\) 节点的树 ,回答 \(m\) 个询问,每次询问给你两个整数 \(l,r\) ,问存在多少个整数 \(k\) 使得从 \(l\) 沿着 \(l \to r\) 的简单路径走 ...
- idea连接数据库,驱动问题
选本地maven仓库的jar包就好
- label 与input其中input的 id与name
<div> <label for="myfile">新头像 {% load static %} <img src="{% static 'i ...
- webapi参数接收不到特殊字符
js前端 var uri="http://w3cschool.cc/my test.php?name=ståle&car=saab"; document.write(enc ...
- bash编辑功能,在命令行里编辑快捷键
快捷键 描述 ctrl + A 跳到命令行的开头 ctrl + E 跳到命令行的尾巴上 ctrl + U 将光标处以命令行开头的内容清除 ctrl + K 将光标处到命令行尾巴处的内容清除 ctrl ...
- Smart200 设计注意设计
2023.02.19 1.固件 2.一套西门子不够,输入输出点数不能满足要求,可配置两套(或多套)smart200,通讯实现一整套功能. 3.中大型PLC项目点数:32.16点位CPU:小型PLC项目 ...
- Tomcat配置中的java.lang.IllegalStateException: No output folder问题
最近运行Tomcat7.0时总会报错:Tomcat安装文件夹下的某个文件拒绝访问. localhost:8080 java.lang.IllegalStateException: No output ...
- iOS 制作一个动态库
方式一 1.新建一个framework 命名为test 2.将build archive architecture only 改成 NO 3.将Mach-O Type 改成 static Lib ...
- Warning: PHP Startup: Unable to load dynamic library
使用 phpstudy时,一直提示找不到指定的模块,但是在我对应的文件里面是有该模块的 且 php.ini中 对应的语句注释也已打开 我遇见该问题解决方法是:php版本与这个拓展的版本不对应 ,把版 ...
- Docker 对于容器的增删查命令
列出所有容器 ID 1 docker ps -aq 停止所有容器 1 docker stop $(docker ps -aq) 停止单个容器 1 docker stop 要停止的容器名 删除所有容器 ...