CN107577609B - 一种基于主机端动态链接的嵌入式***动态模块调试*** - Google Patents

一种基于主机端动态链接的嵌入式***动态模块调试*** Download PDF

Info

Publication number
CN107577609B
CN107577609B CN201710893864.4A CN201710893864A CN107577609B CN 107577609 B CN107577609 B CN 107577609B CN 201710893864 A CN201710893864 A CN 201710893864A CN 107577609 B CN107577609 B CN 107577609B
Authority
CN
China
Prior art keywords
dynamic
module
file
host
machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710893864.4A
Other languages
English (en)
Other versions
CN107577609A (zh
Inventor
张记强
瞿秋薏
张杨
孟庆磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201710893864.4A priority Critical patent/CN107577609B/zh
Publication of CN107577609A publication Critical patent/CN107577609A/zh
Application granted granted Critical
Publication of CN107577609B publication Critical patent/CN107577609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于主机端动态链接的嵌入式***动态模块调试***,其中,包括:宿主机与目标机;宿主机包括:工程管理模块,用于在新建工程时,指定工程编译后生成可重定位的目标文件;动态链接器,用于宿主机根据可重定位文件、链接脚本与目标机反馈的符号实际地址生成可绝对定位的目标文件;GDB调试器,用于用户通过命令或者图形化的方式发送调试命令;宿主机支撑平台,用于作为宿主机与目标机的通信接口;目标机包括:动态加载器,用于管理目标机上所有的符号;动态链接器代理模块,用于与宿主机动态链接器的交互,为动态链接器完成动态链接提供服务;调试代理模块,用于通过接收GDB调试器的调试命令,控制被调试程序的运行;目标机支撑平台,用于作为目标机与主机的通信接口为网络。

Description

一种基于主机端动态链接的嵌入式***动态模块调试***
技术领域
本发明属于计算机嵌入式软件领域,具体涉及一种基于主机端动态链接的嵌入式***动态模块调试***。
背景技术
动态链接是相对于静态链接而言的一种技术。动态链接在编译阶段不对组成程序的目标文件链接,而是将链接过程推迟到了运行时再进行。对于资源有限的嵌入式***,动态链接技术可以有效解决共享的目标文件多个副本浪费磁盘和内存空间的问题,还可以减少物理页面的换入换出,增加CPU缓存的命中率,同时还可以使程序升级变得更加容易。
动态链接的基本思想决定了动态模块对应目标文件中的函数和变量的地址是相对地址,其真实地址在动态模块运行时才能产生,这就为动态模块的在线调试带来了问题,因为调试过程要求获悉被调试目标文件内函数和变量的真实地址。桌面***常用的解决方法是在调试之前首先将动态模块与应用模块链接,使动态模块各符号具有绝对地址,这样调试器就可以访问和控制被调试的动态模块。与桌面***不同的是,嵌入式***采用远程交叉调试的方式,即调试器运行于宿主机的通用桌面***,被调试程序运行于目标机的嵌入式***,调试器通过目标机的调试代理远程控制和访问运行在目标机***上的被调试程序。
目前在对嵌入式***动态模块进行调试时,通常的方案是主机端在遇到目标文件中的未定义符号时,向目标机获取符号的绝对定位地址,目标机则将符号及符号绝对定位地址返回给主机端,从而完成一次未定义符号的调试过程。
主机端通过在调试过程中查询未定义符号运行时地址,完成调试的手段,需要在调试时反复多次进行主机端与目标机的信息交互。这种方式无疑提高了调试阶段宿主机与目标机信息交互频次,降低了调试的性能,影响用户体验。此外,主机端实现调试过程依赖于目标机文件***和动态加载器的实现,降低了主机端调试功能的通用性和可移植性。
发明内容
本发明的目的在于提供一种基于主机端动态链接的嵌入式***动态模块调试***,用于解决上述现有技术的问题。
本发明一种基于主机端动态链接的嵌入式***动态模块调试***,其中,包括:宿主机与目标机;宿主机包括:工程管理模块,用于在新建工程时,指定工程编译后生成可重定位的目标文件;动态链接器,用于宿主机根据可重定位文件、链接脚本与目标机反馈的符号实际地址生成可绝对定位的目标文件;GDB调试器,用于用户通过命令或者图形化的方式发送调试命令;宿主机支撑平台,用于作为宿主机与目标机的通信接口;目标机包括:动态加载器,用于管理目标机上所有的符号;动态链接器代理模块,用于与宿主机动态链接器的交互,为动态链接器完成动态链接提供服务;调试代理模块,用于通过接收GDB调试器的调试命令,控制被调试程序的运行;目标机支撑平台,用于作为目标机与主机的通信接口为网络。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,在CCS开发环境中创建一个可重定位的文件,在工程管理模块中添加-r选项,告知编译器在编译阶段遇到未定义符号时不报错;然后运行动态链接器,动态链接器的输入为可重定位文件、与目标机有关的链接脚本文件,输出为一个绝对定位的二进制文件。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,目标机运行的嵌入式操作***为tyche3.7。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,动态链接器将可重定位的文件中所有外部符号的地址使用目标机相同符号实际地址进行替换,生成可绝对定位的文件。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,动态链接器代理的组件包括:初始化模块以及命令处理模块;初始化模块调用网络的初始化操作完成通信路径的初始化,开始接收宿主机的动态链接器发送的指令;初始化模块结束之后,目标机接收动态链接器发送的指令,命令处理模块将根据一条完整指令的首字母判断当前指令的类型。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,动态链接器代理申请目标机的一段内存,作为动态模块目标文件在目标机存储的位置;动态链接器获取目标机管理的所有符号的信息后,动态链接器通过解析动态模块生成的可重定位文件,将可重定位文件内的未定义符号的地址使用获取的符号实际地址进行替换;动态链接器发送下载文件的指令,动态链接器代理将动态链接器生成的文件的数据段下载到目标机申请的内存中;动态链接器向动态链接器代理发送调试指令。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,命令处理模块将根据一条完整指令的首字母判断当前指令的类型。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,命令处理模块将根据一条完整指令的首字母判断当前指令的类型包括:首字母为m,动态链接器代理接收到该指令后,使用内存分配函数获取一段内存,成功分配后,返回“ok:地址”字符串;首字母为S,动态链接器代理接收到该指令后,获取内存中动态加载器管理的符号信息,包括符号名称和地址,获取成功后,返回“ok:[<符号名称,地址>]$”字符串;首字母为X,动态链接器代理接收到该指令后,将文件内容下载到指定的地址中;首字母为r,动态链接器代理接收到该指令后,将根据调试类型启动对应的调试模块;首字母为f,动态链接器代理接收到该指令后,释放对应的内存地址。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,动态加载器,运行于嵌入式操作***之上,通过解析ELF文件,获取与管理目标机所有的符号。
根据本发明的基于主机端动态链接的嵌入式***动态模块调试***的一实施例,其中,宿主机通过解析动态模块生成的可重定位文件,将可重定位文件内的未定义符号的地址使用获取的符号实际地址进行替换;宿主机的动态链接器生成一个绝对定位的二进制ELF文件。
本发明的基于主机端动态链接的嵌入式***动态模块调试***,通过搭建交叉调试***,在用户调试前为动态模块建立一个与运行时完全一致的符号绝对定位的ELF文件,省略了调试阶段的获取未定义符号信息的交互环节,为基于嵌入式***进行动态模块开发的用户提供一种高效的调试方案。
附图说明
图1是本发明基于主机端动态链接的嵌入式***动态模块调试***的总体层次结构图;
图2所示为动态链接器的工作流程图;
图3所示为动态链接器代理的工作流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1是本发明基于主机端动态链接的嵌入式***动态模块调试***的总体层次结构图,如图1所示,本发明提出基于主机端动态链接的嵌入式***动态模块调试方法,实现本方法需要宿主机1和目标机2协同工作,共同完成。
如图1所示,宿主机1的模块包括:工程管理模块11,通过在新建工程时在工程属性中添加编译选项-r,指定工程编译后生成可重定位的目标文件。动态链接器12,用于宿主机1通过动态链接器12,根据可重定位文件、链接脚本与目标机反馈的符号实际地址生成可绝对定位的目标文件。GDB调试器13,用于用户通过命令或者图形化的方式发送调试命令。宿主机支撑平台14,用于宿主机运行操作***为Windows xp,宿主机1与目标机2的通信接口为网络。
如图1所示,首先由用户在CCS开发环境中创建一个可重定位的文件,在编译选项中添加-r选项,告知编译器该文件在编译阶段遇到未定义符号时不报错。然后运行动态链接器12,动态链接器12的输入为可重定位文件、与目标机2有关的链接脚本文件,输出为一个绝对定位的二进制文件。最后用户通过动态链接器12中进行动态模块调试。
如图1所示,目标机2包括:动态加载器21,该模块管理目标机上所有的符号,具体包括符号的名称和符号实际地址。动态链接器代理模块22,该模块完成与宿主机动态链接器12的交互,为动态链接器12完成动态链接提供服务。基于嵌入式操作***实现的调试代理模块23该模块通过接收宿主机1的GDB调试器13调试命令,控制被调试程序的运行。目标机支撑平台24目标机运行的嵌入式操作***为tyche3.7,目标机2与主机1的通信接口为网络。
目标机2运行的嵌入式操作***为tyche3.7,该版本的操作***集成了调试代理23、动态链接器代理22与动态加载器21。在宿主机1动态链接器12开始运行前,启动目标机2下载并且运行tyche操作***。Tyche操作***启动后,启动动态加载器21,将tyche操作***的所有内核符号获取并且管理,之后启动动态链接器代理模块22,该模块将等待宿主机1的动态链接器12的链接与信息交互。最后启动调试代理23,等待接受用户对动态模块的调试。
如图1所示,宿主机1的动态链接器12将可重定位的文件中所有外部符号的地址使用目标机2相同符号实际地址进行替换,生成可绝对定位的文件。
图2所示为动态链接器的工作流程图,如图2所示,本实施例的动态链接器的工作流程为:
(1)申请目标机2的一段内存。上位机首先获取可重定位文件的大小,然后发送“m:length”指令给目标机2。在目标机2申请一段内存,作为动态模块目标文件在目标机2存储的位置。
(2)获取目标机2管理的所有符号的信息。这些信息包含当前动态模块需要的外部符号名称和实际地址。该步骤是通过宿主机1向目标机2发送“S”命令完成。该过程成功执行后,宿主机1可以获取所有符号的实际地址;该过程发生异常时,需要向目标机2发送“f:地址”命令,释放目标机2内存。
(3)生成绝对定位文件。宿主机1获取到目标机2管理的所有符号后,通过解析动态模块生成的可重定位文件,将可重定位文件内的未定义符号的地址使用获取的符号实际地址进行替换。该过程成功后宿主机1的动态链接器12生成一个绝对定位的二进制ELF文件;该过程发生异常时,需要向目标机发送“f:地址”命令,释放目标机2内存。
(4)宿主机1发送下载文件的指令,“X:地址:长度:文件内容”。该过程将动态链接器12生成的ELF文件的数据段下载到步骤(1)申请的内存中。
(5)宿主机1发送调试指令“r:地址:调试类型”。
通过以上步骤,一个动态模块生成的可重定位文件就已经下载到目标机2内存。
本实施例中,由于所使用的与底层进行信息交互的协议与具体的平台无关,即使更换一种硬件平台,也不需要修改动态链接器12的实现。
如图1所示,目标机2与宿主机1的动态链接器12进行信息交互的为动态链接器代理22,该模块为宿主机1完成动态链接提供服务功能。
图3所示为动态链接器代理的工作流程图,如图1以及图3所示,动态链接器代理22的组件包括以下模块:初始化模块、命令处理模块。
(1)初始化模块首先调用网络的初始化操作完成通信路径的初始化。开始接收宿主机1的动态链接器12发送的指令。
(2)初始化模块结束之后,目标机2可以接收动态链接器12发送的指令。命令处理模块将根据一条完整指令的首字母判断当前指令的类型。
首字母为m。该指令的完整指令为“m:长度”。动态链接器代理22接收到该指令后,使用内存分配函数获取一段内存。成功分配后,返回“ok:地址”字符串。
首字母为S。该指令为获取符号信息指令。动态链接器代理22接收到该指令后,获取内存中动态加载器管理的符号信息,包括符号名称和地址。获取成功后,返回“ok:[<符号名称,地址>]$”字符串。
首字母为X。该指令的完整形式为“X:地址:长度:文件内容”。动态链接器代理22接收到该指令后,将文件内容下载到指定的地址中。
首字母为r。该指令的完整形式为“r:地址:调试类型”。动态链接器代理22接收到该指令后,将根据调试类型启动对应的调试模块。调试的类型可以为任务级调试和***级调试。
首字母为f。该指令的完整形式为“f:地址”。动态链接器代理22接收到该指令后,释放对应的内存地址。
嵌入式***远程调试,需要在目标机2实现调试代理组件。GDB调试器13运行于宿主机1上,由用户启动运行并发送调试命令。GDB调试器13通过与目标机2的调试代理组件交互,达到远程控制嵌入式应用的状态跟踪的效果。
如图1所示,进一步的,宿主机1的组件包括:工程管理模块11,用于创建与管理动态模块工程,并生成动态模块的可重定位目标文件,该文件内引用的外部符号地址为空;动态链接器模块12,获取外部符号地址,并将可重定位文件内的外部符号地址修改成可绝对定位的地址;GDB调试器13,用户通过GDB调试器13向目标机2调试代理发送调试命令,控制动态模块的调试和运行;宿主机支撑平台14,是宿主机其他模块运行的支撑平台,提供与目标机2通信的物理接口。
如图1所示,目标机2的组件包括:嵌入式操作***,为动态模块运行时的***支撑软件;调试代理23,完成和宿主机调试器的通信;动态链接器代理模块,接收宿主机的命令,并反馈宿主机的动态链接器模块所需的符号及其地址信息,配合宿主机完成动态模块的动态链接;动态加载器21,运行于嵌入式操作***之上,通过解析ELF文件,获取与管理目标机所有的符号。
本发明实例所用的目标机硬件平台是Texas公司的TMS320C6678数字信号处理器,运行其上的嵌入式操作***为天熠嵌入式操作***—tyche3.7。主机端运行软件为CCS6.1与基于主机端动态链接器12(以下简称动态链接器12),调试器为支持DSP指令的GDB调试器13,该调试器13已经集成到动态链接器12的软件,用户可以使用界面上提供的调试按钮进行动态模块的调试。
本发明在调试动态模块之前将获取所有动态模块中未定义符号在目标机实际地址,通过重新生成绝对定位的二进制文件,达到目标机与主机端被调试动态模块的一致性效果,本发明中的方案降低了动态模块调试过程中高频次信息交互操作对调试效率的影响。
与现有技术相比,本发明的有益效果在于:
(1)本发明为嵌入式动态模块提供一种高效的调试方案,可以节省调试时资源的占用,加快调试效率。
(2)本发明提供的方案涉及的动态链接器12并未限定特定的目标机操作***和平台,方便进行移植。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (5)

1.一种基于主机端动态链接的嵌入式***动态模块调试***,其特征在于,包括:宿主机与目标机;
宿主机包括:工程管理模块,用于在新建工程时,指定工程编译后生成可重定位的目标文件;动态链接器,用于宿主机根据可重定位文件、链接脚本与目标机反馈的符号实际地址生成可绝对定位的目标文件;GDB调试器,用于用户通过命令或者图形化的方式发送调试命令;宿主机支撑平台,用于作为宿主机与目标机的通信接口;
目标机包括:动态加载器,用于管理目标机上所有的符号;动态链接器代理模块,用于与宿主机动态链接器的交互,为动态链接器完成动态链接提供服务;调试代理模块,用于通过接收GDB调试器的调试命令,控制被调试程序的运行;目标机支撑平台,用于作为目标机与主机的通信接口为网络;
宿主机通过解析动态模块生成的可重定位文件,将可重定位文件内的未定义符号的地址使用获取的符号实际地址进行替换;宿主机的动态链接器生成一个绝对定位的二进制ELF文件;
动态链接器代理申请目标机的一段内存,作为动态模块目标文件在目标机存储的位置;动态链接器获取目标机管理的所有符号的信息后,动态链接器通过解析动态模块生成的可重定位文件,将可重定位文件内的未定义符号的地址使用获取的符号实际地址进行替换;动态链接器发送下载文件的指令,动态链接器代理将动态链接器生成的文件的数据段下载到目标机申请的内存中;动态链接器向动态链接器代理发送调试指令;
动态链接器代理的组件包括:初始化模块以及命令处理模块;
初始化模块调用网络的初始化操作完成通信路径的初始化,开始接收宿主机的动态链接器发送的指令;
初始化模块结束之后,目标机接收动态链接器发送的指令,命令处理模块将根据一条完整指令的首字母判断当前指令的类型,包括:
首字母为m,动态链接器代理接收到该指令后,使用内存分配函数获取一段内存,成功分配后,返回“ok:地址”字符串;
首字母为S,动态链接器代理接收到该指令后,获取内存中动态加载器管理的符号信息,包括符号名称和地址,获取成功后,返回“ok:[<符号名称,地址>]$”字符串;
首字母为X,动态链接器代理接收到该指令后,将文件内容下载到指定的地址中;
首字母为r,动态链接器代理接收到该指令后,将根据调试类型启动对应的调试模块;
首字母为f,动态链接器代理接收到该指令后,释放对应的内存地址。
2.如权利要求1所述的基于主机端动态链接的嵌入式***动态模块调试***,其特征在于,
在CCS开发环境中创建一个可重定位的文件,在工程管理模块中添加-r选项,告知编译器在编译阶段遇到未定义符号时不报错;然后运行动态链接器,动态链接器的输入为可重定位文件、与目标机有关的链接脚本文件,输出为一个绝对定位的二进制文件。
3.如权利要求1所述的基于主机端动态链接的嵌入式***动态模块调试***,其特征在于,目标机运行的嵌入式操作***为tyche3.7。
4.如权利要求1所述的基于主机端动态链接的嵌入式***动态模块调试***,其特征在于,动态链接器将可重定位的文件中所有外部符号的地址使用目标机相同符号实际地址进行替换,生成可绝对定位的文件。
5.如权利要求1所述的基于主机端动态链接的嵌入式***动态模块调试***,其特征在于,动态加载器,运行于嵌入式操作***之上,通过解析ELF文件,获取与管理目标机所有的符号。
CN201710893864.4A 2017-09-28 2017-09-28 一种基于主机端动态链接的嵌入式***动态模块调试*** Active CN107577609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710893864.4A CN107577609B (zh) 2017-09-28 2017-09-28 一种基于主机端动态链接的嵌入式***动态模块调试***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710893864.4A CN107577609B (zh) 2017-09-28 2017-09-28 一种基于主机端动态链接的嵌入式***动态模块调试***

Publications (2)

Publication Number Publication Date
CN107577609A CN107577609A (zh) 2018-01-12
CN107577609B true CN107577609B (zh) 2021-06-04

Family

ID=61038849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710893864.4A Active CN107577609B (zh) 2017-09-28 2017-09-28 一种基于主机端动态链接的嵌入式***动态模块调试***

Country Status (1)

Country Link
CN (1) CN107577609B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519924B (zh) * 2018-03-06 2021-02-05 许继集团有限公司 一种嵌入式测控装置的在线故障定位方法、***及装置
CN111352842A (zh) * 2020-02-28 2020-06-30 成都金诺信高科技有限公司 基于嵌入式的软件调试方法
CN112650501B (zh) * 2020-12-31 2023-07-07 重庆芯讯通无线科技有限公司 编译、终端设备及其客户应用程序的编译链接和加载方法
CN114124772A (zh) * 2021-11-05 2022-03-01 中国航空工业集团公司雷华电子技术研究所 一种基于VxWorks操作***的网络调试方法
CN114064152B (zh) * 2021-11-26 2023-05-23 中船重工(武汉)凌久电子有限责任公司 基于动态加载的嵌入式多核调试***及其调试方法
TWI802163B (zh) * 2021-12-22 2023-05-11 竹陞科技股份有限公司 基於腳本的控制系統和控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706725A (zh) * 2009-11-20 2010-05-12 中兴通讯股份有限公司 一种可重定位程序的加载及调试方法及***
CN102279789A (zh) * 2010-06-13 2011-12-14 三星电子(中国)研发中心 生产阶段嵌入式***的调试***及其调试方法
CN102945202A (zh) * 2012-10-15 2013-02-27 中国科学院软件研究所 一种基于代理的rtems***调试方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931636B2 (en) * 2000-08-08 2005-08-16 Texas Instruments Incorporated Multiprocessor emulation support using dynamic linking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706725A (zh) * 2009-11-20 2010-05-12 中兴通讯股份有限公司 一种可重定位程序的加载及调试方法及***
CN102279789A (zh) * 2010-06-13 2011-12-14 三星电子(中国)研发中心 生产阶段嵌入式***的调试***及其调试方法
CN102945202A (zh) * 2012-10-15 2013-02-27 中国科学院软件研究所 一种基于代理的rtems***调试方法

Also Published As

Publication number Publication date
CN107577609A (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
CN107577609B (zh) 一种基于主机端动态链接的嵌入式***动态模块调试***
EP3377968B1 (en) Dynamic update of an application in compilation and deployment
US8645938B2 (en) System and method for replacing code
US9086899B2 (en) Loading and debugging method and debugging system thereof
CN106325847B (zh) 基于iOS平台获取应用程序功能的方法和装置
CN114064152B (zh) 基于动态加载的嵌入式多核调试***及其调试方法
CN111399897A (zh) 基于kubernetes的应用发布方法以及***
CN112685035A (zh) 项目开发方法及装置、计算机可读存储介质、电子设备
CN111880987A (zh) 应用程序的动态监测方法、装置、存储介质以及电子装置
US20200210156A1 (en) Compiler-Generated Asynchronous Enumerable Object
CN112860251A (zh) 一种网站前端构建的方法与***
CN110209565B (zh) 一种元数据模型调试方法及其装置
CN102043654A (zh) 一种基于TMS320VC55xx的DSP简易开发方法
CN114490103A (zh) 一种操作***接口调用方法、装置以及电子设备
KR20130020135A (ko) 통합 개발 환경에서의 코드 동시 개발자 리스트 제공 시스템 및 방법
CN110888669B (zh) 一种在ide上创建模板工程的方法及***
CN113157429A (zh) 一种saas云服务实现方法及***
US20170083298A1 (en) Resilient format for distribution of ahead-of-time compiled code components
CN117813586A (zh) 对具有未保存的源代码更改的正在运行的应用进行热重载
CN112579460B (zh) 一种基于多核嵌入式***的多级调试方法
CN115509545A (zh) 一种ios应用的打包构建方法及装置
CN114115859A (zh) iOS程序基于本地静态库的编译方法、装置及***
CN114816475A (zh) 一种嵌入式操作***的更新方法、装置、设备和介质
WO2004088508A2 (en) A method of creating software that is portable across different operating systems
CN112445607B (zh) 一种应用程序执行方法函数的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant