如何在本地调试远程服务器上的Node代码

如何在本地调试远程服务器上的Node代码,第1张

方式一:通过debugger

方式二:通过sb(line)。

执行下一步

通过next命令。

跳到下一个断点

通过cont命令。

查看某个变量的值

输入repl命令后,再次输入变量名,就可以看到变量对应的值。如果想继续执行代码,可以按ctrl+c退出。

添加/删除watch

通过watch(expr)来添加监视对象。

通过watchers查看当前所有的监视对象。

通过unwatch(expr)来删除监视对象。

添加watch:

第62行的代码,DCOM既然是远程服务器,那它就应该是可以运行在另外一台机器上,然后被其他机器的客户端所使用。所以C++的客户端代码里,你可以通过编程的方式指定服务器的名称,但是对于C#来说,因为连接到DCOM服务器并激活COM对象的操作是由CLR完成的,没有办法在代码里指定。不过不用着急,指定DCOM服务器还有另外一个方式,就是修改注册表的键值,告诉本机的COM运行库,服务器在另外一台机器上,请把下面的键值添加到客户端机器的注册表里:

HKEY_CLASSES_ROOT\APPID\{5e9ddec7-5767-11cf-beab-00aa006c3606}\RemoteServerName=<机器名>

下面的是我的代码

public void ListAll(Guid catid, out OpcServers[] serverslist)

{

serverslist = null

Dispose()

Guid guid = new Guid("13486D51-4821-11D2-A494-3CB306C10000")

Type typeoflist = Type.GetTypeFromCLSID(guid)

OPCListObj = Activator.CreateInstance(typeoflist)

ifList = (IOPCServerList)OPCListObj

if (ifList == null)

Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT)

ifList.EnumClassesOfCategories(1, ref catid, 0, ref catid, out EnumObj)

if (EnumObj == null)

Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT)

ifEnum = (IEnumGUID)EnumObj

if (ifEnum == null)

Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT)

int maxcount = 300

IntPtr ptrGuid = Marshal.AllocCoTaskMem(maxcount * 16)

int count = 0

ifEnum.Next(maxcount, ptrGuid, out count)

if (count <1)

{ Marshal.FreeCoTaskMem(ptrGuid)return}

serverslist = new OpcServers[count]

byte[] guidbin = new byte[16]

int runGuid = (int)ptrGuid

for (int i = 0i <counti++)

{

serverslist[i] = new OpcServers()

Marshal.Copy((IntPtr)runGuid, guidbin, 0, 16)

serverslist[i].ClsID = new Guid(guidbin)

ifList.GetClassDetails(ref serverslist[i].ClsID,

out serverslist[i].ProgID, out serverslist[i].ServerName)

runGuid += 16

}

Marshal.FreeCoTaskMem(ptrGuid)

Dispose()

}

用此代码连接本地OPC服务器是没有问题的,但是通过上面对注册表的编辑,将服务器换成远程服务器,就不能访问,代码运行起来还是连接的是本地OPC服务器。请教各位我该如何设置才能连接远程OPC服务器

jenkins要想在远程服务器执行命令,发送文件等操作,必然要处理jenkins与远程机的免交互问题。

下面如何让jenkins与目标主机实现免交互。

系统管理-- 插件安装--搜索ssh --安装 Publish Over SSH

安装完成后,在jenkins端生成秘钥对(公钥id_rsa.pub 私钥id_rsa)

输入一次密码,以后就免密了。输入完可以用ssh 登陆试一下。

我们以最简单的一个例子来演示,部署一个Html页面到远程服务器的nginx网站目录下,实现页面上线。

首先,刚才jenkins配置ssh插件,注意填写远程服务器信息的那里的remote directory这个地方指的发送到远程服务器的哪个目录下。

在job配置中

上图的配置就是,将jenkins上的项目文件init.html发送到远端主机192.168.1.112的/var/www/html下

保存,退出。

远端主机的nginx配置:

点击构建。

结果:部署成功

例子比较简单,后期会更新java的部署过程。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/550218.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-28
下一篇2023-06-28

发表评论

登录后才能评论

评论列表(0条)

    保存