VS2008远程调试方法

合集下载

WindowsServer2008配置远程桌面连接

WindowsServer2008配置远程桌面连接

WindowsServer2008 - 远程桌面连接-自定义远程连接数量分为几大步:一、安装终端服务(Terminal Services) "控制面板" -"管理工具" -"服务器管理器" -"角色" -右键添加角色(选择终端服务)二、安装TS 授权管理器(TS Authorize Control Services) 类似步骤一,只不过,它是添加功能三、许可证服务器激活参照下面许可证服务器激活四、选择授权模式(每设备与每用户)参照下面两种模式的区别五、修改远程连接数量"控制面板" -"管理工具" -"终端服务(文件夹)" -"终端服务配置" -"授权诊断" -右侧显示区域中的“RDP-Tcp”选项,并用鼠标右键单击“RDP-Tcp”选项,再点选快捷菜单中的“属性”命令,进入到“RDP-Tcp”选项设置界面;点选“RDP-Tcp”选项设置界面中的“网络适配器”选项卡,在对应的选项设置页面中,将最大连接数参数修改为适当的数值,该数值通常需要根据服务器系统的硬件性能来设置,一般情况下我们可以将该数值设置为“5”以下,最后单击“确定”按钮执行设置保存操作。

或使用注册表:系统的“开始”菜单,从中点选“运行”命令,在弹出的系统运行对话框中输入字符串命令“regedit”,单击回车键后,进入系统注册表控制台窗口;展开该控制台窗口中的“HKEY_LOCAL_MACHINE\SOFTWARE\Polic ies\Microsoft\Windows NT\Terminal Services”注册表子项(如图2所示),在目标注册表子项下面创建好“MaxInstanceCount”双字节值,同时将该键值数值调整为“10”,最后单击“确定”按钮保存好上述设置操作。

VS2008连接远程SQL

VS2008连接远程SQL
,[quarternum]
,[ts]
FROM [FSRHR_test].[dbo].[bd_accperiod]
select dr from bd_accperiod
DataServer=.\SQLEXPRESS;InitialCatalog=Northwind;UserID=sa;Password=sa123456
7.设置web.config文件:在web.config文件添加如下程序:
<connectionStrings><addname="LocalSqlServer"connectionString="DataSource= .\SQLEXPRESS;InitialCatalog=Northwind; UserID=sa;Password=sa123456" providerName="System.Data.SqlClient"/></connectionStrings>
DataServer=.\SQLEXPRESS;InitialCatalog=Northwind;UserID=sa;Password=sa123456
DataServer=服务器名\SQLEXPRESS;InitialCatalog=Northwind;UserID=sa;Password=sa123456 DataServer=localhost\SQLEXPRESS;InitialCatalog=Northwind;UserID=sa;Password=sa123456 DataServer=.;InitialCatalog=Northwind;UserID=sa;Password=sa123456 DataServer=服务器名;InitialCatalog=Northwind;UserID=sa;Password=sa123456 ……

VS 远程调试

VS  远程调试

最近迁移一个Web服务,在原来的服务器上运行得好好的,拷贝到新服务器上的时候就运行失败了,提示数据库连接错误,实在不想各种找BUG猜原因了,就了解了下VS远程调试。

步骤1、在IIS服务器上(或C/S客户端机器)运行Msvsmon.exeMsvsmon.exe在vs的程序目录里有,具体位置如图:X64为64位机器使用,X86为32为机器使用。

将X64或X86复制到服务器上任意目录,双击X64/X86目录下的Msvsmon.exe出现如下对话框。

单击菜单栏【工具】——【选项】选项设置对话框,TCP/IP部分使用默认4018端口,身份验证模式部分可按如下原则配置。

如果要求较高的安全性,可以选择“Windows身份验证”,再单击“权限”,选择服务器上已有的账户作为远程调试登录账户,默认为当前登录客户,如图。

也可以在Windows用户账户管理模块单独新建用户,专门用于远程调试,此时,VS附加时,传输栏应选择“默认值”。

如果安全性要求较低,或只是临时调试,可以选择“无身份严阵”,此时,VS附加时,传输栏应选择“远程(无身份验证)”。

2、在开发机器的VS 2013上点菜单栏【调试】——【附加到进程】(或直接快捷键Ctrl+Alt+P)。

3、在第2步弹出的对话框中,“传输”栏选择“远程(无身份验证)”,“限定符”栏内填写远程机器的IP地址,填好后直接回车,之后下面的“可用进程”栏就会出现很多进程。

如图3-1图3-1如果调试的是网站或则WebService服务,就选择w3wp.exe 进程,如果是一般的窗体应用,就直接选对应的进程名(前提是该程序已在服务器上运行)。

注意!1)、如果服务器上不止运行一个网站,那看到的w3wp.exe进程就会有多个,如图3-2,这时就看后面的“用户名”这一列,斜杠后面的就是网站名称,调试时选择对应名称的网站进程。

图3-22)、需保证服务器端程序是最新编译好的程序才能正常进入调试。

c#开发中的远程调试

c#开发中的远程调试

C#远程调试这里所说的远程调试,是指在系统开发时,在一台机器上调试另一台机器上运行的程序,平时遇到的类似情况为开发人员,调试服务器上运行的web服务远程调试需要在远程机器上运行远程调试控制器,运行的方式主要有两种,一是通过文件共享的方式运行,二安装运行,对于共享运行,以下调试功能不可用:1.在Win98,Win Me 上进行调试2.单步执行Xml Web Service3.自动调试 Web 应用程序或基于ATL Server 的ISAPI 扩展二:远程调试控制器的安装远程调试控制器是区分版本的,如果调试环境环境为Vs2005,那么安装的远程调试控制器的本本需要与Vs2005匹配,如果调试环境为Vs2008,则控制器要与Vs2008匹配,在每个VS开发环境安装包下,都有个Remote Debugger目录,此目录下又有ia64、x64、x86目录,每个目录下都有一个rdbgsetup.exe文件,此文件即是远程调试控制器安装文件,具体安装哪个版本由平台版本决定.三:配置1、如果远程服务器与调试机器都启用了Windows防火墙,则双方都需要开发TCP 协议135端口2、如果双方通过IPSec 进行网络通信,则要打开UDP协议4500端口与UDP协议5003、若要从启用了Windows 防火墙的Windows XP SP2 计算机对Windows 95/98/Me 计算机进行远程调试,必须使用dcomcnfg 为匿名登录启用远程访问,操作方法为:(1)运行dcomcnfg命令,打开组建服务窗口(2) 组建服务-计算机-我的电脑-鼠标右键-属性-COM安全-编辑权限-顶部用户列表中选择“匿名登陆”-下边权限列表中选择“远程访问”然后点确定保存配置。

4、如果远程主机当前登陆用户不允许调试,要修改安全策略:本地安全策略—用户权限分配—调试程序—双击把登陆用户添加到列表中并保存。

5 如果调试机器为WinXp系统需要在安全策略-本地策略-安全选项-本地账户的共享与安全模式项修改成"经典-本地用户已自己的身份验证"6.把将来会连接到远程调试控制器的用户添加到远程调试控制器的用户列表中四:调试1、建立一个与远程服务器上有的用户名称、密码完全一致的本地用户,并以此用户登陆系统。

vs2008打开并且调试wince工程

vs2008打开并且调试wince工程

vs2008打开并且调试wince工程
要在vs2008中打开已经生成的wince程序,首先你要下载一下一个wince的模拟器,我下载的是wince6.0的版本。

打开wince模拟器的文件夹
第一步:选择连接加载.bat文件,这是注册界面,点击确定
第二步:选择SDMMC 800.bat(这是屏幕的分辨率,看你的工程里面的屏幕配置)
第三步:选择连接启动.bat,然后将其他里面的设备插入底座
•1
•2
•3
•4
•5
在第二步的时候,wince6.0的模拟器已经打开了
首先在左上角有个文件按钮,点击文件->配置->共享文件夹(在这个里面插入你的wince工程)
退出到主界面:
然后点击开始,选择设置里面的控制管理,
a:点击PC-连接,点击OK键就行了
b:点击网络和拨号->新建连接->直接连接->下一步->选择设备
选择DMA
然后就完成,可以退出到wince主界面了
这是最主要的一步:你要确定你的电脑里是否下载了windows Mobile设备中心,我之前就没装,然后大部分时间就卡在这了。

版本网上可以下载的。

这是已经连接好了,这时候就可以使用wince模拟器了
这是没有连接的
点击移动设备->连接设置,要是上面的步骤都做好了,会出现下面的界面:
做到这一步,说明wince模拟器已经配置好了,用vs2008打开你的wince工程,你就可以进行调试和运行了
wince6.0模拟器及其相关软件我已经上传到了我的资源,希望可以帮助到大家。

(qq:1143403680,欢迎交流)。

vs2008调试技巧

vs2008调试技巧

VS2005调试技巧集合/rainylin/archive/2007/09/06/1775125.aspx下面有从浅入深的6个问题,您可以尝试回答一下1. 一个如下的语句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什么都写在一行,你怎么在j=5前面插入断点2. 在一个1000次的循环体内部设置断点,你希望当循环进行到900次后中断,怎么才能做到呢?3. 你有一个表达式在上面循环的某一次发生了变化,你想知道是哪一次,在哪个地方,怎么才能做到?4. 你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样做?5. 你有在调试一个服务程序,希望在其内部打上了断点,可是,由于这是一个公用的服务你不希望其他访问这个服务的程序被你的调试所干扰,你想怎么办?6. 怎样知道2个断点中断的时间间隔问题1,21. 一个如下的语句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什么都写在一行,你怎么在j=5前面插入断点2. 在一个1000次的循环体内部设置断点,你希望当循环进行到900次后中断,怎么才能做到呢?这两个问题最简单,我在一个例子里说明例如如下循环for(int i=0;i<1000;i++){doSomeThing......}在循环的大括号上单击右键,插入断点,用这个方法,可以对付那些喜欢把语句写在一行上的家伙,其实,随着.Net3.5中Linq的出现,我们肯定也会经常在在一行上写复杂的表达式,这个时候用这种插入方法会比较管用ok,现在我们来编辑这个断点的条件,在断点上右键单击,选择如图菜单项在弹出的窗口中可以设置断点命中的条件i==900注意我是在调试C#代码,默认的条件语句语法是C#,如果你想切换,那就需要用Ctrl- B,来插入断点,并在弹出窗口中选择语言通过这样设置条件断点,我们就可以解决我们的问题1,2了问题3你有一个表达式在上面循环的某一次发生了变化,你想知道是哪一次,在哪个地方,怎么才能做到?同样通过设置条件断点我们还可以解决我们的问题3,对表达式变化的跟踪string user="yizhu2000"for(int i=0;i<10000;i++){DoSomething1().......DoSomethingN()}当循环执行完毕时我们发现user变成了"smart_boy",你不知道这个值是在第几次循环的时候变化的,那么你是不是会选择打上断点,一次一次中断,来查看呢?当然不用在循环体结束的位置我们设置一个断点,打开条件编辑窗口(打开方法同上),设置表达式为user,勾选下面的HasChanged,也就是说,你告诉断点,当user的值发生变化时才触发(注意:第一次执行到断点的时候,程序一定会中断,并计算这时表达式的值,所以,所谓发生变化,指的是以后执行到断点是表达式的值和第一次执行到断点时表达式的值的比较)问题4你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样做?如何让断点在指定的命中次数或者大于某个次数时触发呢?方法是设定几个断点的HitCount,右键单击断点,在弹出菜单中选择Hit Count,会弹出如下窗口在"when the break point is hit"下拉列表里,我们可以看到四个选项break always:总是中断break when the hit count is equal to:等于某次数时中断beak when the hit count is a multpile of:当次数是某数的倍数时中断break when the hit count is greater than or equal to:当大于等于某数时中断问题5你有在调试一个服务程序,希望在其内部打上了断点,可是,由于这是一个公用的服务你不希望其他访问这个服务的程序被你的调试所干扰,你想怎么办?前面4个问题都已经解决了,第5个问题的解决方法是利用断点的Filter功能,比如我希望断点只有被机器名为yizhu的机器访问才能触发,我可以这样设置当其他机器访问程序的时候,断点将不会触发,这样做的优点是通过设置机器名,我们可以让其他机器访问的时候感觉不到断点的存在,除此之外我们可以设置机器名,进程号,进程名,线程号,线程名作为filter,而且还可以把他们组合起来,比如我希望通过当机器yizhu的dllhost进程调用时才触发,那么问题就可以设置为MachineName="yizhu"&ProcessName="dllhost"问题6 怎样知道2个断点中断的时间间隔现在我们来解决第6个问题:在程序性能调试的时候,我们经常需要知道某段代码的执行效率,一般来说,我们可以在程序中加入时间点,通过时间点相减来取得时间间隔,这种方法有个显而易见的缺点就是需要修改程序,想要不修改程序,就需要借助一些工具,那么有没有什么方法可以声明式的插入时间点,并计算值呢?其实断点完全可以做到在给出方法前,我们来看看断点的另外一个设置项,When Hit,这个选项可以让我们在命中断点后做一些事情,包括输出一些内容,或者调用宏,比如输出一个程序中变量的值我们输出了变量user的值,下面Continue Execution表示程序不会中断,输出后继续执行,注意表达式需要用{}括起来,,其他的部分会被作为字符串输出。

VS2008远程调试

VS2008远程调试

*假设调试机IP 192.168.0.182 远程机IP 192.168.0.161*远程机为调试机分配权限,使调试机可以使用远程桌面登陆到远程机器上(这样调试起来方便)。

*调试机上安装visual studio .net 2003共享调试机上的Visual Studio上的远程调试目录(以我的机器为例)C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger*远程机将上面的共享目录考贝到本地,比如:d:\\Debugger*调试机共享要调试的程序所在目录,比如:D:\important\cvsroot\dv-to-dvd\bin\debug*远程机将调试机上的目录影射为本地目录。

比如:Z:\\*远程机上以命令行形式执行D:\\Debugger\msvcmon.exe –tcpip –anyuser*调试机启动vc. 打开要调试的工程。

比如dvtodvd. 选择菜单project->properties选debuging->remote settingConnection :Remote via TCP/IP (Native only)Remote machine: 192.168.0.161Remote Command: z:\dvtodvd.exe*debug->start*就可以调试了。

1.首先将要调试的应用程序拷贝至远程机,选择拷贝路径如:D:/XXX/XXX/2.将本地工作上VS2008的安装目录下的调试监控工具msvsmon.exe拷贝到远程机上,如:X:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/Remote Debugger/下的x86文件夹整个拷贝到远程机上。

3.双击远程机上的msvsmon.exe,选择tools--->Options--->Authentication Mode--->No Authentication(native only)--->OK4.VS2008设置具体如下:调试机启动VS2008. 选择project->properties然后:Configuration Properties: Debugging.Remote Command: 远程机上需要被调试的应用程序的全路径,比如:D:/XXX/XXX/urpro.exe。

Windows server 2008设置远程桌面连接的详细步骤(图文教程)

Windows server 2008设置远程桌面连接的详细步骤(图文教程)

Windows server 2008设置远程桌面连接的详细步骤(图文教程)1.强迫远程桌面连接用户执行网络级身份验证开始---程序—管理工具—服务器管理器---服务器管理---服务器摘要---配置远程桌面—--三个选项,如图:------选择用户--将该设置窗口中已经存在的用户账号一一选中,并单击“删除”按钮;之后,再单击“添加”按钮,在其后出现的用户账号浏览对话框中,找到有远程管理需求的特定用户账号,并将该账号选中添加进来,再单击“确定”按钮退出设置操作,这样的话任何一位普通用户日后都不能使用远程桌面功能来对Windows Server 2008服务器系统进行远程管理了,而只有在这里设置的特定用户才有权限通过远程桌面连接访问目标服务器系统。

2.禁止administrator使用远程桌面在缺省状态下,Windows Server 2008服务器系统允许administrator账号使用远程桌面功能,为了防止非法攻击者尝试使用该用户账号来攻击本地服务器系统,我们可以按照下面的操作来禁止administrator账号通过远程桌面连接来访问Windows Server 2008服务器系统(1)将administrator账号强行禁用:开始—程序—附件—“命令提示符”右键---以管理员身份运行---输入命令:net user administrator/active:no此方法往往会影响网络管理员正常管理服务器系统。

(2)通过为administrator账号更名的方式,来禁止administrator使用Windows Server 2008系统的远程桌面连接:开始—运行:gpedit.msc---计算机配置--- Windows设置--安全设置---本地策略---安全选项---帐户:重命名系统管理员3.将administrator账号的终端登录权限取消的方法,来达到禁止administrator使用远程桌面功能的目的;在取消administrator账号的终端登录权限时,我们可以先按前面操作打开服务器系统的组策略编辑控制台窗口:“计算机配置”---“Windows设置”---“安全设置”---“本地策略”---“用户权限分配”----“用户权限分配”-----“通过终端服务允许登录”,在其后弹出的窗口中将administrators 账号删除掉4.只许特定计算机使用远程桌面有的时候,为了防止局域网中的计算机病毒随意通过远程桌面连接传染给Windows Server 2008服务器系统,我们需要限定任何用户只能从局域网中特定的安全计算机上使用远程桌面功能,来远程控制目标服务器系统。

VC2008 IDE远程调试

VC2008 IDE远程调试

VC2008 IDE远程调试序:通常在软件开发的过程中一个比较重要的阶段就是--测试,测试阶段中很可能会涉及到有这样的bug,在WIN7下不出现,在XP下出现…,对于作为一个开发人员来说,当遇到问题的时候我们必须要追踪问题并找出问题的根源,因此我们要进行Debugger,但是通常我们应该会头疼,头疼的原因是我们本地机器没有装WIN7 OS,又或是没有装XP OS,尽管有的人会同时装XP,WIN7,但是有很多的不便性,其一是:两个OS会占用比较多磁盘空间,尽管现在的磁盘空间比较大,其二是:如果我们启动的是WIN7,想在XP上追踪问题,那么我们必须重启进行切换,也许你觉的这不是问题,切换系统又不会花多少时间,但是如果你在XP上已经找到bug的原因,想把修改后的Code在WIN7下再跑一遍,那么,对不起你又得进行切换系统,如果在WIN7下你的Code有点小问题,然后你改动后,又得在XP系统上再验证一下,况且现在我们的机器装的应用软件还蛮多的,启动比较慢,如此反复的进行系统的切换我相信你会疯掉,嘿嘿。

因此我们这里就引出主题:进行远程调试,如果我想在XP下进行调试而我装的OS是WIN7,那我可以在装为XP系统的同仁机器上进行远程调试,但是这样可能会影响到同仁的工作效率,毕竟你要把你的exe,pdb等档案放到同仁的机器上,当然你可以麻烦同仁共享一个Folder给你专门存放远程调试所需要的文件,但是你必须在同仁的机器上启动msvsmon.exe,所以还是有点不方便,如果我们能把我们自己工作电脑当做远程电脑那就不存在这样的问题了,这样我们就要借用虚拟机来实现.(VM VisualBox).好了,下面就具体介绍这两种远程调试的方法:(1)在另外一台机器上进行远程调试具体的做法如下:a)远程测试环境的配置将“Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86”下的所有文件复制到远程计算机中,将开发好的应用程序(.exe文件)和符号文件(.pdb文件)复制到远程计算机中。

vs2008简单调试方法

vs2008简单调试方法

VS2008简单调试方法程序的错误通常可以分为若干类,语法错误,链接错误,逻辑错误。

语法错误是比较容易查找并且修改的,而且编译给出的提示信息也比较完整,所以容易修改。

链接错误来源很多,常常由于和系统、库函数等方面的原因出错,难以一言蔽之。

最后是逻辑错误,也就是学生在实验课上碰到的难点,因为系统没有给出明确的提示,同学也只是知道运行错误,那么如何找到并修改运行错误就非常重要。

下面以一个实例简单介绍一下调试过程,当然更加深入的还需自己多练习,学习。

该文档所举例子为VS2008,同样适用于VS2005,VC++6。

1 一个实例一个链表的程序,包括主程序Win32_C_Proj.cpp文件,Bucket.h和Bucket.cpp,其中Bucket用链表的方式实现一个容器。

如下分别展示了main函数,bucket的插入元素函数和类的数据定义。

运行结果如下图运行该程序,我们要的结果是1,2,因为是再第一位置插入1,第二位置插入2。

而现在这个程序的输出结果却是2,1,和我们预想的不符合,说明程序设计过程中存在逻辑上的错误,也就是算法设计的问题。

2 初步发现问题接下来第一步就是要发现问题。

程序就那么几句,很明显,我们需要做的第一步就是确定错误的大至位置。

按F10运行程序,运行程序如下:其中1位置是调试常有的工具按钮,2位置的箭头指示的是当前程序运行到的位置。

工具按钮中八个按钮分别是:●继续运行(F5,会运行到下一个断电停止,如果没有断点,则运行到结束)、●停止运行(不结束程序ctrl+shift+F5)、●结束运行(结束程序调试 shift+F5)、●重新启动、●显示下一个语句、●运行到函数内部(如果当前语句是一个函数)(F11)●运行到同层的下一条语句(F10)●跳出当前函数(shift+F11)我们按F10,运行到bucket1.insertElem(2,2),这时候箭头指向该语句,表示该语句前面的语句都运行完成,但是该语句还未运行,显示的监视窗口如下:Bucket1变量展开之后可以看到,它包含size=1,head节点和currentNode。

VS2008的IDE环境中对应用程序进行调试的方法

VS2008的IDE环境中对应用程序进行调试的方法

发 环 境 所 继 承 的应 用 程 序 调 试 工 具 进 行 程 序 的 调试 工作 。 对 V 2 O 从 S 0 8的 开 发 环 境 的 介 绍 谈 起 , VS 08的 I E环 境 中对 应 用 程 就 2O D
序 进 行 调 试 的 方 法 进 行 了说 明 , 后对 V 2 0 最 S O 8的 I E环 境 中 应 用 程 序 进行 调试 的 步 骤 进 行 了 分 析 。 D
关 键 词 : 2 o D 应 用 程 序 , 试 VS o 8I E, 调
中图分类号 : TP3 1 5 1.2 文献标识码 : A
Ana y i f Pr g a bu g ng M e h ds i DE l s s o o r m De g i t o n I
Env r nm e f V¥ 0 8 io nto 2 0
唐 婧 , 武 初 赵
4 50 ) 1 00
( 常德 职 业 技术 学 院 , 南 常德 湖

要 : 2 o 是 当前 软件 开 发 常用 的 开 发 环 境 , 中在 VS 0 8D 下 进 行 程 序 的开 发 , 序 开发 人 员 可 以 很 好 地 利 用 该 开 VS o 8 其 20IE 程
改 。链 接错 误来 源 很多 , 常常 由于和 系统 、 函数等 方 库
面 的 原 因 出 错 , 以 一 言 蔽 之 。最 后 是 逻 辑 错 误 , 是 难 这
程序 开 发人 员 在 进行 程 序开 发 时所 碰 到 的难 点 , 因为 系统 没 有 给 出 明确 的提 示 , 程序 开 发人 员 也 只是 知 道
的, 而且 编 译 给出 的提示 信息 也 比较 完整 , 以容易 修 所
持 . T rme r 3 5 NE fa wok . ,并 且 对 以 前 . T NE f me r r wok版本 进行 支持 。同时 , VB . a 在 3 5和 c#3 5 .

VS2008-2010上机操作指南2_如何调试程序

VS2008-2010上机操作指南2_如何调试程序

本次指南的目的在于学习如何进行断点调试,看看程序运行中的变量变化值是否跟我们预想的一样,从而找出错误。

下面的例子以S=1!+2!+…+n!为例。

1、按“信计11级上机操作指南第一次”的步骤输入源程序,检查没有语法错误后,按【crtl+F7】编译;如图1所示:图12、将光标移动到需要加断点的程序所在行,本程序的目的在于,要看看m和sum 的变化值,因此将光标移动到“sum=sum+m;”这一行前,并按下【F9】键,将在这一行前出现一个红色的断点,如图2所示:图23、按【F5】开始调试程序,程序会停留在断点的位置,点击窗口下部的【自动窗口】可以看到变量的值。

如图3所示:图3此时我们可以看到sum的值是一个非法值,其原因是我们没有将sum初始化;按【shift+F5】终止调试,然后将sum初始化为0. 按【crtl+F7】编译后,再按【F5】开始调试,程序会停留在断点的位置,如图4所示,点击【自动窗口】此时可以看到sum的值正常了。

4、按【F10】开始单步执行程序,可以看到变量的变换情况;5、持续按【F10】,当程序执行到最后一个右花括号“}“时,按按【shift+F5】终止调试。

6、按【ctrl+F10】可以执行到光标所在位置。

例如在上题中,如果将光标置于“cout<<sum<<”\n”前,按【ctrl+F10】可以直接执行到这一句。

7、有时候,需要输入数据,则需要在黑屏幕的输入窗口(其实就是控制台)和VS的调试窗口中进行切换,才能正常进行调试。

如以下程序,当程序运行到”cin>>n”时,按【F10】会弹出黑屏幕输入窗口,如下图:在黑屏幕输入窗口中输入数据,并按回车键,如下图此时,需要重新点击任务栏上的VS图标,激活调试窗口,才能继续调试。

继续按【F10】,当运行到while循环中的cin>>n时,又会弹出输入窗口,重复以上步骤进行调试。

9、若程序中有子函数,当程序运行到子函数所在行时,按【F11】进入子函数进行调试,子函数运行完后,按【shift+F11】返回主函数。

VS2008在wince下远程调试使用

VS2008在wince下远程调试使用

VS2008在wince下远程调试使用下面来说一下具体的做法。

先明确下概念,远程调试嘛,自然是两个机器之间调试。

程序运行在目标机器上,调试器运行在本机。

首先利用网线把本机和目标机器通讯上,即把两者的IP地址设置在同一个网段,例如本机:192.168.128.2,目标机器192.168.128.1。

GUC端wince配置1. 从本机(已安装VS2008)C:/Program Files/Common Files/Microsoft Shared/CoreCon/1.0/Target/wce400/x86下复制一下文件到GUC 端:/Windows下,另外需要注意的是:windows文件夹下的非系统文件在重启后会消失,所以每次重启后都要重新拷贝文件到windows,建议把文件在Hard Disk 备份一份,需要的时候再拷贝过去。

Clientshutdown.exeConmanClient2.exeCMaccept.exeeDbgTL.dllTcpConnectionA.dll2. 在GUC端启动ConmanClient2.exe3. 在GUC端启动CMaccept.exe (双击打开就行,不会弹出任何提示)本机Visual Studio2008配置1、在本机上安装ActiveSync和GUC_SDK,默认直接安装就行。

2、打开VS2008,新建项目。

3、选择“智能设备”并给程序命名,例如:test。

4、选择平台类型—GUC5、编写程序代码,添加链接库,并编译通过。

6、编译成功后,打开“设备选项”,根据下图设置。

7、打开“连接到设备”,本机会跟GUC自动建立连接,下面是几种连接情况:A、没安装ActiveSync,安装上ActiveSync就可以解决。

B、设备未就绪,GUC端ConmanClient2.exe和CMaccept.exe未启动,双击启动ConmanClient2.exe和CMaccept.exe。

VS2008远程调试方法

VS2008远程调试方法

拷贝到目标机应用程序所在的目录下,然后运行msvsmon.exe2. 选择【Tools】->【Options】设置Debugger参数这两步后目标机上的设置就完成了,下面介绍调试机上的设置:调试机:1. 打开VS2008,打开启动工程属性,在Debugging选项页内,做如下设置注意:Remote Command 中的路径为目标机上可执行工程的路径;Remote Server Name 为目标机的IP地址设置完成后按F5即可远程调试目标机程序。

需要注意的几个地方:1. 调试机和被调试机都在一个局域网内,且必须在一个网段2. 调试机和被调试机必须登录相同的用户,用户名必须一直关闭防火墙或打开相应的端口,一般是40153. 最重要的一点,这样设置后有可能会出现在调试机上无法设置断点的情况,提示PDB文件不匹配的问题,我就遇到了这个问题,找了好长时间才解决,我的解决方法是在调试机上编译好应用程序后,然后拷贝到目标机上(确保PDB文件一致),并且在你每次在调试机上重新编译了某些库后必须手动拷贝其DLL和PDB文件到目标机上,然后在Remote Command中设置目标机上的路径即可。

关于这一条可能还有其他的解决办法,但我没找到,希望有其他的解决方法的朋友留言。

环境:同一局域网内,主机和虚拟机远程调试远程计算机:虚拟机搭的WindowsXP/32(局域网中使用桥接,非局域网使用NAT)本地计算机:Windows XP、Win71.本机计算机要求:VS2008 IDE 打开被调试代码2.本机计算机登陆的用户名和密码,必须和远程计算机的登录名和密码相同,仅仅用户名相同,密码不同也是不可以的,会报错。

(也可以不设相同用户名和密码,貌似只有VC++下可以,在远程调试器选项里设置无验证模式,相应的在项目属性的调试页里设置,见下面调试方案1中VC++的"无验证模式"调试;)3.远程计算机安装远程调试器:Remote Debugger,可以直接复制VS2008安装目录C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger 下的X86目录,(X64对应64位机);4.对于本地和远程计算机都要保证DCOM分布式服务是打开的,可以通过控制面板->服务中打开5.关于本地安全策略:开始->程序->管理工具->本地安全策略,安全设置->安全选项->网络访问:本地帐户的共享和安全模式,在Windows XP中本地帐户的共享和安全模式中默认为“仅来宾-本地用户以来宾身份验证”,需改为:经典->本地用户以自己的身份验证",否则可能碰到“VS IDE attach远程进程时报告用户名和密码不匹配的错误”.6.将本地计算机上要调试程序的debug目录中生成的文件拷贝到远程机子的共享目录中(最好直接把生成目录定位到远程的共享目录,省的每次改动后重新拷贝,如图);调试方案:(1)开发环境直接启动远程进程形式①C#、项目属性--调试,如图设置,在本地VS IDE上按F5即可调试远程机器上的执行文件:②VC++Windows验证模式调试:项目属性--调试,如图设置,在本地VS IDE上按F5即可调试远程机器上的执行文件:无验证模式:项目属性--调试,如图设置,在本地VS IDE上按F5即可调试远程机器上的执行文件:(调试页面只要修改"连接"这一项即可,注意,不能忘了把远程调试器修改为不验证)(2)附加进程形式(C#和VC++应该一样)①运行VS远程调试监视器msvsmon.exe,记住图中的liu@WINXP32,格式是"登录用户名@计算机名",同时在远程机器运行要调试的目标程序,如图:②VS程序中,调试--附加到进程,点击浏览,选中远程机器,然后在下面的进程列表中,选中需要附加调试的进程,如图:。

vs 远程调试 原理

vs 远程调试 原理

vs 远程调试原理VS远程调试的原理是利用远程调试器与被调试程序之间的通信机制来实现的。

具体来说,远程调试器会在被调试程序运行时注入调试代码,该调试代码会与远程调试器建立通信,将被调试程序的状态、变量值等信息传输给远程调试器,以实现调试过程中的断点设置、变量查看、单步执行等功能。

在VS远程调试中,主要有两个核心组件:远程调试器和被调试程序。

远程调试器是在本地开发环境中运行的调试工具,而被调试程序则是在远程运行的代码。

远程调试器与被调试程序之间通过网络进行通信,实现调试信息的传输和交互。

实现VS远程调试的方式有多种,下面将介绍其中两种常用的方式:第一种方式是使用远程调试器和被调试程序直接建立网络连接进行通信。

在这种方式下,远程调试器需要知道被调试程序的网络地址和端口号,通过这些信息建立连接后,就可以进行调试操作了。

这种方式的优点是简单直接,适用于局域网内的调试场景。

但缺点是需要手动配置被调试程序的网络地址,对于动态IP或者跨网络的情况较为麻烦。

第二种方式是使用调试代理服务器进行远程调试。

在这种方式下,远程调试器与被调试程序之间通过调试代理服务器进行通信。

调试代理服务器作为一个中间层,负责转发调试信息,解决了被调试程序的网络地址变化或者跨网络的问题。

这种方式的优点是灵活性较高,适用于各种网络环境。

但缺点是需要额外的调试代理服务器的支持,增加了部署和管理的复杂性。

在实际的远程调试过程中,开发者需要按照以下步骤进行配置和操作:1. 在被调试程序所在的机器上启动调试器并设置调试端口;2. 在本地开发环境中打开对应的解决方案或项目,并在调试设置中选择远程调试;3. 配置远程调试器的连接参数,包括被调试程序的网络地址和端口号;4. 启动远程调试器,与被调试程序建立连接;5. 在本地开发环境中设置断点、查看变量值等调试操作;6. 执行被调试程序,触发断点,远程调试器会中断程序的执行,显示当前的调试状态;7. 开发者可以进行单步执行、变量查看等操作,直到调试完成。

让WindowsServer2008远程控制更自如

让WindowsServer2008远程控制更自如

让WindowsServer2008远程控制更自如Windows Server 2008系统的新功能、新特性让很多人眼前一亮,为此局域网工作环境中安装、使用Windows Server 2008系统的主机是越来越多,而该系统作为一个全新的服务器系统,我们常常需要对它进行远程控制,不过该系统的新功能、新特性注定了我们必须拓展新的思路,才能让Windows Server2008系统远程控制更自如;这不,本文现在就对Windows Server2008系统的远程控制功能进行深入挖掘,希望各位朋友能从下面的内容中收到启发!1、修改远程控制端口只让自己知道无论是哪种类型的操作系统,在缺省状态下远程桌面连接功能一般会使用3389端口才能进行远程控制操作,Windows Server 2008系统自然也不例外,所以恶意攻击者时常会尝试通过该默认的3389端口号码进行非法连接。

为了确保远程控制操作的安全性,我们应该在启用远程桌面控制功能后,及时修改该功能的网络通信端口号码,同时保证新的控制端口号码只能让自己一个人知道。

在修改WindowsServer 2008系统的远程桌面控制端口号码时(现在以将控制端口号码调整为“2009”为例),我们不妨进行下面的设置作:首先打开Windows Server2008系统桌面中的“开始”菜单,从中依次点选“程序”/“附件”/“命令提示符”命令,之后再用鼠标右键单击“命令提示符”命令,从弹出的快捷菜单中执行“以管理员身份运行”命令,将系统切换到DOS命令行工作窗口,在该窗口的命令行提示符下执行“regedit”字符串命令,进入WindowsServer 2008系统的注册表控制台窗口;其次在该控制台窗口左侧子窗格中用鼠标点选其中的HKEY_LOCAL_MACHINE节点选项,再从该节点选项下面依次展开目标注册表子项“SYSTEM\CurrentControlSet \Control\TerminalServer\Wds\rdpwd\Tds\tcp”(如果无法找到时可以自行创建),在目标注册表子项的右侧显示窗格中,检查是否存在双字节值PortNumber,要是不存在时,我们可以用鼠标右键单击空白区域,从其后出现的右键菜单中依次点选“新建”、“Dword值(32-位)值”菜单命令,来自行创建一个名为“PortNumber”的双字节值,之后用鼠标双击“PortNumber”键值,此时系统屏幕上会出现一个窗口,选中其中的“十进制”项目,再在“数值数据”对话框中输入自己想要的端口号码,这里我们应该输入的是“2009”,再单击“确定”按钮完成上述设置操作;同样地,我们再从HKEY_LOCAL_MACHINE节点选项下面依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\T erminalServer \WinStations\RDP-T cp”注册表子项,在目标注册表子项下面也创建一个名为“PortNumber”双字节键值,并且将该键值的数值也调整为“2009”,最后单击“确定”按钮退出Windows Server2008系统注册表控制台窗口,并重新启动一下对应系统就可以使上述设置操作正式生效了。

北风网MFC系列 第二讲 VS2008调试环境的使用

北风网MFC系列 第二讲 VS2008调试环境的使用
掌握启动调试环境的主要方法 掌握各调试信息窗口的作用和使用方法 掌握定位最终错误位置的正确方法 掌握应用程序调试版本和发行版本的区别 及编译方法源自跟踪 断点 查看变量 更改数值
利用调试运行启动调试环境 利用调试版错误启动调试环境 附加到已有的进程
当需要远程调试或调试 智能设备时 浏览网上邻居设定目标机器 设定机器调试的目标机器
显示当前登录用户的 所有进程
显示当前环境中所有的 进程包括服务进程
附加到进程中之后挂起线程可以查看进程 中的一些调试信息 之后可以选择线程进行单步执行
掌握调试版程序报错的规律再现错误 点击重试启动VS2008调试环境 查看线程 查看堆栈 一般系统函数或MFC的方法不会出错因此 在堆栈上找到最靠近错误处的第一个自定 义函数 观察参数 观察局部变量 查看错误代码信息
查看数组元素 查看内存数据 查看HRESULT型的错误信息 使用消息框 调试输出 使用断言 对象倾倒 检测内存泄露 编辑并继续调试 调试Windows NT服务
掌握启动调试环境的主要方法 掌握各调试信息窗口的作用和使用方法 掌握定位最终错误位置的正确方法 掌握应用程序调试版本和发行版本的区别 及编译方法

教你如何使用VS远程调试

教你如何使用VS远程调试

教你如何使⽤VS远程调试
从VS2010的安装⽬录⾥⾯,找到D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger⽂件夹
拷贝Remote Debugger⽂件夹到⽬标机器(程序运⾏机器)
运⾏mvsmon.exe,设置⼯具-选项为Windows⾝份验证,否则断点会不起作⽤
控制⾯板的⽤户选项⾥⾯,添加和远程机相同的⽤户命,密码,可以在⽤户管理⾥直接添加。

shift+右键--以其他⾝份运⾏-启动VisualStudio
调试-附加到进程(注意传输选择:默认值,限定符输⼊远程机IP )
执⾏刷新,附加到指定进程就可以了
如果要调试远程WebService,需要将web.config⾥⾯的Debug选项设置为true,还要讲对应的pdb符号⽂件拷过去。

复制代码代码如下:
<system.web> <compilation debug="true" targetFramework="4.0" /> </system.web>
Attention:
如果出现⽆法附加远程调试器,或者远程调试器⽆法连接到本地计算机的提⽰,注意将防⽕墙关闭---我在帮同事设的时候就是因为本机Windows防⽕墙没有关提⽰⽆法连接
VS2005远程调试跟2010是⼀样的,亲测可⽤
如果Remote Debugger选项设置为⽆可⽤计算机,断点不会起作⽤。

以上所述就是本⽂的全部内容了,希望⼤家能够喜欢。

怎样调试VS2008

怎样调试VS2008

一:F9在你需要停下的地方设置断点F5进入调试F10单步运行F11进入函数二:看不到自己设的各个变量的当前值设断点,等运行到那后,你想看哪个就把鼠标放到它上面就显示出来了三:如何使用V isual C++调试程序?在调试中可以使用断言、TRACE 宏输出结合单步执行来综合调试。

1、如何使用编译、连结的出错信息在编译、连结阶段Ou tpu t 窗口会向我们输出当前编译的信息,如果遇到错误,它会向我们报告错误在第几行、是什么错误。

这时在错误提示行上双击左键,就可以定位到程序中的出错处,此时就可以根据出错提示修改我们的代码。

如这个例子中是一个语法错误——漏写了一个分号。

当然,有时真正的错误并不在该行(通常是由某几个错误之间的相关性导致)。

这就需要我们在附近几行仔细察看。

如果对所报错误不太理解,可以加亮该错误提示行,然后按F1键,则可察看该错误的较详细解释。

(当然,前提是你的英文水平不错)2常见错误:☆语法错误:请检查是否缺少了分号(行结束符),if、else是否匹配、switch 语句用法是否对等。

注意,宏定义、包含文件定义结束不需分号,而类定义结束需要分号。

☆变量、函数未定义、重定义:请检查变量大小写、是否包含了相应的头文件(包括你自己的和MFC、Windows 的)。

☆连接错误:这种错误一般发生在你的程序中使用了动态连结库(dll)的时候(不管是你的还是Windows本身的)。

此时,可以察看是哪个函数出错。

比如你调用了一个Wind ows API,而MSDN中的说明写到这个函数需要包含哪个头文件(.h)、输入哪个库(.lib),那么就要在你的工程设置里加入这个库。

方法是选择菜单:Project->Settings,转到Link选项卡,在Object/Library modules 输入框中输入相应的模块如果我们改正了所有的错误,编译通过了,但结果不正确,那么我们就必须使用调试的办法了。

主要有两种。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

拷贝到目标机应用程序所在的目录下,然后运行msvsmon.exe
2. 选择【Tools】->【Options】设置Debugger参数
这两步后目标机上的设置就完成了,下面介绍调试机上的设置:
调试机:
1. 打开VS2008,打开启动工程属性,在Debugging选项页内,做如下设置
注意:Remote Command 中的路径为目标机上可执行工程的路径;Remote Server Name 为目标机的IP地址
设置完成后按F5即可远程调试目标机程序。

需要注意的几个地方:
1. 调试机和被调试机都在一个局域网内,且必须在一个网段
2. 调试机和被调试机必须登录相同的用户,用户名必须一直关闭防火墙或打开相应的端口,一般是4015
3. 最重要的一点,这样设置后有可能会出现在调试机上无法设置断点的情况,提示PDB文件不匹配的问题,我就遇到了这个问题,找了好长时间才解决,我的解决方法是在调试机上编译好应用程序后,然后拷贝到目标机上(确保PDB文件一致),并且在你每次在调试机上重新编译了某些库后必须手动拷贝其DLL和PDB文件到目标机上,然后在Remote Command中设置目标机上的路径即可。

关于这一条可能还有其他的解决办法,但我没找到,希望有其他的解决方法的朋友留言。

环境:
同一局域网内,主机和虚拟机远程调试
远程计算机:虚拟机搭的WindowsXP/32(局域网中使用桥接,非局域网使用NAT)
本地计算机:Windows XP、Win7
1.本机计算机要求:VS2008 IDE 打开被调试代码
2.本机计算机登陆的用户名和密码,必须和远程计算机的登录名和密码相同,仅仅用户名相同,密码不同也是不可以的,会报错。

(也可以不设相同用户名和密码,貌似只有VC++下可以,在远程调试器选项里设置无验证模式,相应的在项目属性的调试页里设置,见下面调试方案1中VC++的"无验证模式"调试;)
3.远程计算机安装远程调试器:Remote Debugger,可以直接复制VS2008安装目录C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger 下的X86目录,(X64对应64位机);
4.对于本地和远程计算机都要保证DCOM分布式服务是打开的,可以通过控制面板->服务中打开
5.关于本地安全策略:
开始->程序->管理工具->本地安全策略,安全设置->安全选项->网络访问:本地帐户的共享和安全模式,在Windows XP中本地帐户的共享和安全模式中默认为“仅来宾-本地用户以来宾身份验证”,需改为:经典->本地用户以自己的身份验证",否则可能碰到“VS IDE attach远程进程时报告用户名和密码不匹配的错误”.
6.将本地计算机上要调试程序的debug目录中生成的文件拷贝到远程机子的共享目录中(最好直接把生成目录定位到远程的共享目录,省的每次改动后重新拷贝,如图);
调试方案:
(1)开发环境直接启动远程进程形式
①C#、
项目属性--调试,如图设置,在本地VS IDE上按F5即可调试远程机器上的执行文件:
②VC++
Windows验证模式调试:项目属性--调试,如图设置,在本地VS IDE上按F5即可调试远程机器上的执行文件:
无验证模式:项目属性--调试,如图设置,在本地VS IDE上按F5即可调试远程机器上的执行文件:
(调试页面只要修改"连接"这一项即可,注意,不能忘了把远程调试器修改为不验证)
(2)附加进程形式(C#和VC++应该一样)
①运行VS远程调试监视器msvsmon.exe,记住图中的liu@WINXP32,格式是"登录用户名@计算机名",同时在远程机器运行要调试的目标程序,如图:
②VS程序中,调试--附加到进程,点击浏览,选中远程机器,然后在下面的进程列表中,选中需要附加调试的进程,如图:。

相关文档
最新文档