如何让程序暂停,然后有自己控制再运行!求助!vc6.0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让程序暂停,然后有自己控制再运行!求助!vc6.0相关的知识,希望对你有一定的参考价值。

参考技术A 亲,本人第一个作答哦!在你要停住的那句话上右键单击,点那个add breakpoint添加短点,运行时点击叹号右侧的那个按钮,有一个向下箭头的那个,程序就会停在你设置断点的那句话上了,如果想让程序接着往下走,就继续按那个钮,程序就运行完了。这个问题是C++语言调试的知识哦,很简单的,给我加点分吧,亲,打了这么多字呢 参考技术B F9断点设置。F10向下运行。。。 参考技术C 你说的是VC上实现暂停恢复功能么,
void CboardDlg::OnButtonPause()
//暂停按钮
CString str;
int axis=0;
int j(0);
switch ( g_globVar.m_nRunStatus)

case RUNNING:
m_btnPause.SetIcon(IDI_CONTINUE);
m_btnPause.SetWindowText(g_bEnglish?"Continue":"继续");
AddMessage(g_bEnglish?"Working pauseed!":"暂停测试!");
g_globVar.m_nRunStatus= PAUSE;
break;
case PAUSE:
m_btnPause.SetIcon(IDI_PAUSE);
m_btnPause.SetWindowText(g_bEnglish?"Pause":"暂停");
AddMessage(g_bEnglish?"Working continue!":"继续测试!");
g_globVar.m_nRunStatus = CONTINUE;
break;



//加工循环
while (1)

::DoEvent();
switch (g_globVar.m_nRunStatus)

case NORUN:

break;

case PAUSE:

break;

case CONTINUE:

g_globVar.m_nRunStatus = RUNNING;
break;

case RUNNING:

//运行代码

break;

Xdebug 配置

Xdebug配置

在看tp5源码时,意识到自己脑子不够用,需要借助到调试。

Xdebug是啥?

xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序。当PHP程序被暂停的时候,xdebug可以获取到程序的相关信息,比如变量的值等。xdebug也可以修改一个变量的值,然后再恢复暂停的程序,让其继续运行。

xdebug配合IDE(如phpstorm)进行可视化调试的过程被称为“远程调试”,是因为调试时有一个Server(xdebug)和一个Client(IDE),所以在调试的时候,被调试的PHP程序和调试PHP程序的IDE可以不在同一台电脑上。

xdebug在进行远程调试的时候扮演一个Server的角色,它会在一个指定的端口(默认是9000)等待IDE的连接。目前有2种通信的协议,GDB和DBGp,其中DBGp是DBG的取代协议。IDE在执行调试的时候,给xdebug发送需要执行的命令,xdebug接受到命令后执行,然后将执行的情况和获得的PHP程序运行信息返回给IDE。

开启xdebug远程调试需要通过GET, POST或是cookie的方式传入一个XDEBUG_SESSION_START变量,XDEBUG_SESSION_START变量的值代表一个session的名称。通过这种形式,xdebug可以分辨出不同的session。如果要结束一个session可以通过同样的形式传入一个XDEBUG_SESSION_STOP。


使用PHPstorm + Xdebug的前提条件

  1. 你首先php要支持xdebug扩展吧
  2. phpstorm和php.ini中的配置一样吧,最少要知道debug的端口吧
  3. 总要在phpstorm中开启端口监听吧

下载相关扩展 ddl

  1. 使用phpinfo(),查案服务器信息

  2. 将phpinfo页面放到xdebug官网进行检测,会自动告诉你改下载什么版本

    官网地址:https://xdebug.org/wizard

  3. 将下载的文件放置到 C:phpstudy_proExtensionsphpphp7.3.4ntsext文件下

  4. 修改php.ini文件(配置调试插件),反正就把下面的配置文件都写上

    关键点是:

    1. zend_extension:

      指定dll文件位置,最好放置在ext目录下

    2. xdebug.remote_enable = 1 

      开启remote_debug。前面说过,借助IDE来debug就是remote_debug

    3. xdebug.remote_post:

      指定xdebug的监听端口,默认是9000。

    [XDebug]
    zend_extension = "C:phpstudy_proExtensionsphpphp7.3.4ntsextphp_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll"
    xdebug.auto_trace=on
    xdebug.collect_params=on
    xdebug.collect_return=on
    xdebug.trace_output_dir="C:phpstudy_proAppServXdebug"
    xdebug.profiler_enable=on
    xdebug.profiler_output_dir="C:phpstudy_proAppServXdebug"
    xdebug.remote_enable = 1 
    xdebug.remote_handler = dbgp
    xdebug.remote_host= "127.0.0.1"
    xdebug.remote_port = 9000
    xdebug.remote_autostart=1
    xdebug.idekey = PHPSTORM
    
    
  5. 这时候,查看phpninfo()就能看到相关xdebug配置信息。php-server这一步算是结束了。


PHPStorm配置

  1. 先配置phpstorm的端口,注意要和php.ini中的xdebug配置相同

    File->setting->language&Frameworks->PHP->Debug

    技术图片

  2. 配置server

    技术图片

  3. 先校验一下

    run->web server debug validate,点击Validate,保证没有错误

    错误原因:一般都是上面的两个地址写错了(如端口号写在/后面)

    技术图片
  4. 打开监听(右上角的电话??符号)


debug调试时间

注意这个时间和很多因素有关,我之前一直调整php.ini的配置,还需要调整 apache的配置项

在apache的配置项中加入如下代码,即可演唱调试时间

<IfModule mod_fcgid.c>

 FcgidProcessLifeTime 8200

 FcgidIOTimeout 8200

 FcgidConnectTimeout 4000

 </IfModule>

以上是关于如何让程序暂停,然后有自己控制再运行!求助!vc6.0的主要内容,如果未能解决你的问题,请参考以下文章

西门子plc暂停程序 西门子plc200如何实现让程序在突然断电,再送电时继续停止前的程序运行

求助,如何将vc中MFC程序中数据导出到excel表中,如何将excel表中数据再导入到access数据库中?

VC6.0程序编译后如何为程序添加图标

在调试模式下执行控制台应用程序后,如何让 Visual Studio 暂停?

python程序如何让其暂停

Xdebug 配置