Debugging method and device of application program, equipment and storage medium
By simultaneously displaying the access process of production environment applications in the development environment, debugging and updating are performed, the problem of low debugging efficiency caused by information communication barriers in existing technologies has been solved, and more efficient application debugging is achieved.
Patent Information
- Application Number
- CN202411405051.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2025-01-28
AI Technical Summary
The existing technology has information communication barriers in the application debugging of business support systems, resulting in slow vulnerability repair progress and low debugging efficiency.
By accessing applications in the production environment, the application of the application is displayed simultaneously in the development environment, allowing the application in the development environment, and the application of applications in the production environment based on the debugging applications.
There is no need to carry out vulnerability tracking and restoration, breaking the information barriers between the operation and maintenance and development category, and improving the application efficiency of the application.
Smart Images

Figure CN119377096A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of application technology, and in particular, relates to a method, device, equipment, storage medium and computer program product for debugging an application. Background Art
[0002] With the continuous development of telecommunications services, the corresponding business support systems are also being continuously upgraded. In order to quickly respond to the market and users, the business support systems upgraded through the development environment are quickly released and launched once they are produced. However, due to the inability to fully simulate various scenarios of the production environment, the cross-linking of existing businesses, the low coverage of test cases, and the lack of experience of development and testing personnel, the application programs of the business support systems may have various vulnerabilities (BUGs), which require developers to debug.
[0003] The existing debugging method is to fix the vulnerabilities generated after the business support system is released and launched. Specifically, the vulnerability is tracked by collecting the application logs and indicator data, and then the code is fixed for the tracked vulnerability before it is released and launched. Release and launch belong to the operation and maintenance category, and code repair belongs to the development category. There is a certain information communication barrier between the two. In the process of information transmission, distortion and opacity are inevitable, which leads to misunderstanding of the other party's intentions, affects the progress of vulnerability repair, and then affects the entire debugging process. The efficiency of debugging the application of the business support system is not high. Summary of the invention
[0004] Embodiments of the present application provide a method, apparatus, device, storage medium, and computer program product for debugging an application program, which can improve the debugging efficiency of the application program.
[0005] In a first aspect, an embodiment of the present application provides a method for debugging an application program, the method comprising:
[0006] When accessing an application in the production environment, the application access process is displayed synchronously in the development environment;
[0007] Debug the application in the development environment to obtain the debugged application;
[0008] Synchronously update the application in the production environment based on the debugged application.
[0009] In a second aspect, an embodiment of the present application provides a debugging device for an application program, the device comprising:
[0010] A display module is used to synchronously display the access process of the application in the development environment when accessing the application in the production environment;
[0011] A debugging module is used to debug the application in the development environment to obtain the debugged application;
[0012] The update module is used to synchronously update the application in the production environment based on the debugged application.
[0013] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the debugging method of the application program as in the first aspect is implemented.
[0014] In a fourth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon, and when the computer program instructions are executed by a processor, a debugging method for an application program as in the first aspect is implemented.
[0015] In a fifth aspect, an embodiment of the present application provides a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a debugging method for an application program such as the first aspect.
[0016] The application debugging method, apparatus, device, storage medium and computer program product of the embodiments of the present application synchronously display the access process of the application in the development environment when accessing the application in the production environment. When a vulnerability occurs in the access process of the application, it is only necessary to debug the application in the development environment, and based on the debugging of the application in the development environment, the application in the production environment can be synchronously updated. In this way, there is no need to track and repair the vulnerability, which breaks the information barrier between the operation and maintenance scope and the development scope, and improves the debugging efficiency of the application. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0018] Figure 1 It is a flowchart of a method for debugging an application program provided by an embodiment of the present application;
[0019] Figure 2 is a flowchart of a method for debugging an application program provided by another embodiment of the present application;
[0020] Figure 3 It is a structural diagram of a debugging device for an application provided by an embodiment of the present application;
[0021] Figure 4It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0022] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0023] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the existence of other identical elements in the process, method, article or equipment including the elements.
[0024] With the continuous development of telecommunications services, the corresponding business support systems are also being continuously upgraded. In order to quickly respond to the market and users, the business support systems upgraded through the development environment are quickly released and launched once they are produced. However, due to the inability to fully simulate various scenarios of the production environment, the cross-linking of existing businesses, the low coverage of test cases, and the lack of experience of development and testing personnel, the application programs of the business support systems may have various vulnerabilities (BUGs), which require developers to debug.
[0025] The existing debugging method is to fix the vulnerabilities generated after the business support system is released and launched. Specifically, the vulnerability is tracked by collecting the application's logs and indicator data, and then the code of the tracked vulnerability is repaired before it is released and launched. Release and launch belong to the scope of operation and maintenance, and code repair belongs to the scope of development. There is a certain information communication barrier between the two. Distortion and opacity are inevitable in the process of information transmission, which leads to misunderstanding of the other party's intentions, affecting the progress of vulnerability repair, and then affecting the entire debugging process. In addition, the existing debugging method decouples the development end and the operation and maintenance end, involves many modules, and has a complex personnel team. When a system failure or vulnerability occurs, it is necessary to align all modules and teams offline to jointly investigate and verify. The coordination time of the entire process accounts for a high proportion, resulting in a long investigation cycle and low efficiency in application debugging of the business support system.
[0026] In addition, existing technologies usually track problems through application logs. However, since the process from application development to launch is long, the logs running during this period cannot be collected continuously, which makes it easy to miss some context data and difficult to locate the problem. At the same time, since specific scenarios are difficult to reproduce, vulnerabilities generated in certain scenarios are difficult to solve quickly.
[0027] In order to solve the problems of the prior art, the embodiments of the present application provide a method, device, equipment, storage medium and computer program product for debugging an application. When accessing an application in a production environment, the access process of the application is synchronously displayed in a development environment. When a vulnerability occurs during the access process of the application, it is only necessary to debug the application in the development environment, and based on the debugging of the application in the development environment, the application in the production environment is synchronously updated. In this way, there is no need to track and repair the vulnerability, breaking the information barrier between the operation and maintenance scope and the development scope, and improving the debugging efficiency of the application.
[0028] The following first introduces the debugging method of the application provided in the embodiment of the present application.
[0029] Figure 1 FIG. 1 is a flow chart showing a method for debugging an application program provided by an embodiment of the present application. Figure 1 As shown, the method may include the following steps: S101 to S103.
[0030] S101: When accessing an application in a production environment, the access process of the application is synchronously displayed in a development environment.
[0031] An application program refers to a collection of computer programs written for application purposes.
[0032] From project establishment to delivery, applications usually go through multiple stages, including development, testing, and launch. The development environment refers to the environment that the application needs to configure during the development phase, and the production environment refers to the environment that the application configures during the launch phase.
[0033] When the first user accesses the application in the production environment, the access process of the application is displayed synchronously in the development environment, which means that the access process of the application is transparent and visible, so that the second user can directly see the variable values during the application operation in the development environment, that is, directly troubleshoot the fault in a visual way. In other words, the development environment is coupled with the production environment, and the fault can be repaired at the same time as it occurs, without the need to trace back the fault and find the vulnerability after the fault occurs, which greatly improves the efficiency of application debugging.
[0034] The first user may be a common user who accesses the application program, and the second user may be a technician who develops and maintains the application program. In some cases, the first user and the second user may be the same.
[0035] In some embodiments, when a first user accesses an application in a production environment, the access process of the application is synchronously displayed in a development environment, which can be achieved by deploying the development environment in a container.
[0036] Among them, the container is a lightweight virtualization technology that can package the application and its dependencies into a portable image, and then isolate and run it in its own process to achieve resource isolation and restriction. When the container instance is started, the application running in it can be accessed through the container's network address. The container platform is usually responsible for the container's network configuration and load balancing to ensure that the application can be properly accessed.
[0037] S102: Debugging the application program in the development environment to obtain a debugged application program.
[0038] Debugging means tracking the running process of the program to find logical errors or hidden vulnerabilities (bugs) in the program. During the debugging process, technicians can monitor every detail of the application, including the value of variables, the calling process of functions, the data in memory, the scheduling of threads, etc., so as to find hidden errors or inefficient codes, eliminate errors in the code or rewrite efficient code, so that the debugged application vulnerabilities can be fixed or meet the business requirements of updated iterations.
[0039] S103: Synchronously update the application program in the production environment according to the debugged application program.
[0040] After debugging the application in the development environment, the application with fixed vulnerabilities or that meets the business requirements of updated iterations only exists in the development environment, and will be updated synchronously with the application in the production environment running in parallel in the development environment, that is, the debugged application is released and put online, which speeds up the overall debugging progress of the application and improves the user experience.
[0041] As an example, synchronously updating the application program in the production environment according to the debugged application program may be achieved by publishing the application program that has been debugged in the development environment to the production environment.
[0042] The embodiments of the present application synchronously display the access process of the application in the development environment when accessing the application in the production environment. When a vulnerability occurs in the access process of the application, it is only necessary to debug the application in the development environment, and based on the debugging of the application in the development environment, the application in the production environment can be synchronously updated. In this way, there is no need to track and repair the vulnerability, which breaks the information barrier between the operation and maintenance scope and the development scope, and improves the debugging efficiency of the application.
[0043] In some embodiments, in order to realize that when accessing an application in a production environment, the access process of the application can be synchronously displayed in the development environment, the development environment is deployed in a container. Before step S101: synchronously displaying the access process of the application in the development environment, the debugging method of the application may further include:
[0044] Develop applications based on the development environment in the container;
[0045] The application is published to the production environment through the container's publishing port. The publishing port is used to ensure that the application runs in parallel in the production environment and the development environment.
[0046] The release port of the container is used to connect the development environment with the production environment, publish the application in the development environment to the production environment, and enable the application to run in parallel in the production environment and the development environment.
[0047] By integrating the development environment into the container, the application code can be visually edited, compiled, and debugged in the container, and services such as APP services, WEB services, HTTP services, etc. are exposed through the container's release port. At the same time, the capabilities are registered or published to the production environment as formal services, and run in parallel with the applications running in the production environment. When users access the applications in the production environment, part of the traffic in the production environment is grayed out and diverted to the development environment, thereby repairing the fault vulnerabilities that occur when users access applications in the development environment.
[0048] Applications are developed based on the development environment in the container, and published to the production environment through the container's publishing port, so that the development environment and the production environment are directly connected. The operation and maintenance team can directly troubleshoot, reducing information distortion and opacity during the problem troubleshooting and resolution process, reducing the time for the development team to intervene in troubleshooting and the cost of information transmission, and improving the overall efficiency of the development and operation and maintenance team.
[0049] In some embodiments, in order to develop an application based on a development environment in a container, before developing the application based on the development environment in the container, the debugging method of the application may further include:
[0050] Deploy database, cache, message queue and other components independently in containers according to the business scenarios in the production environment, build a grayscale environment, and independently observe the logic of data changes in the grayscale environment. Components can be deployed in containers or on physical machines.
[0051] Among them, indicators of independently deployed components are monitored according to the production environment mode, and indicators of merged deployed components are monitored according to different data types for subsequent troubleshooting.
[0052] Run containers based on the base image, install the IDE integrated development environment, and manage various development environments, such as JDK. The base image needs to have graphical operation capabilities, and can use, for example, the Windows desktop operating system. The code base environment of the IDE integrated development environment can point to the code base of the application in the production environment, and the base version of the code that needs to be debugged can be pulled through the IDE integrated development environment according to the actual business scenario.
[0053] Connect various networks of the host machine where the current container is running, including networks connected to databases, caches, message queues, and networks to the development environment code repository. Connect various networks of the host machine where the current container is running, which can be achieved by comparing the network environment of other existing running containers.
[0054] Connect and configure the connection YAML configuration file, cache connection configuration, database connection configuration, etc. according to the configuration mode of the production environment. For example, if the production environment is configured in cluster mode, the environment in the current container is also configured in cluster mode.
[0055] In some embodiments, in order to flexibly control the flow of user access to the application program to be diverted to the development environment in the container to implement fine-grained verification of vulnerabilities, the above-mentioned release of the application program to the production environment may include:
[0056] Determine the load balancing method for publishing applications to the production environment based on the preset business scenarios;
[0057] Deploy the application to the production environment based on the load balancing method.
[0058] The preset business scenario represents a business scenario that is the same as or similar to a business scenario in which a user accesses an application in a production environment.
[0059] Load balancing is used to balance the traffic of users accessing applications. The finer the granularity of the balanced traffic, the more accurate the variables that can be observed, and the more fine-grained the verification of vulnerabilities can be, while the impact on the access experience of other users is also smaller. A reasonable load balancing method can flexibly control the user's access traffic to be diverted to the development environment in the container, thereby achieving fine-grained verification of vulnerabilities.
[0060] As an example, the load balancing method may be to perform coarse-grained diversion of user access traffic to the application program through hardware load balancing, and to perform fine-grained diversion of user access traffic to the application program through software load balancing.
[0061] In some embodiments, in order to facilitate debugging of an application in a development environment, step S101: when accessing an application in a production environment, synchronously displaying the access process of the application in the development environment includes:
[0062] Displays access to the running code of the application in the development environment while accessing the application in the production environment.
[0063] In some embodiments, in order to improve the efficiency and accuracy of debugging applications, such as Figure 2 As shown, step S102: debugging the application in the development environment may include the following steps:
[0064] S201: Debugging the application program step by step according to the running code to obtain a debugged application program;
[0065] S202: Determine whether the debugged application meets the preset production requirements;
[0066] S203: If the debugged application does not meet the preset production requirements, re-debug the application until the application meets the preset production requirements.
[0067] Single-step debugging is used to debug the application code line by line.
[0068] The preset production requirements are used to indicate that the application meets the business update and iteration requirements or that no vulnerabilities occur when accessing the application.
[0069] As an example, when debugging an application in a development environment, when a user accesses the application, the technician turns on the debug mode and observes the code snippets, variable values, etc. during the running of the application in real time through breakpoints, and debugs the code line by line through single-step debugging mode until the business update iteration requirements are met or the vulnerability is resolved.
[0070] In some embodiments, in order to ensure that the debugged application meets the preset production requirements to ensure normal business access requirements of users or improve user experience, step S202: determining whether the debugged application meets the preset production requirements may include:
[0071] Run the debugged application;
[0072] Get the running log data of the debugged application;
[0073] Determine whether the debugged application meets the preset production requirements based on the running log data.
[0074] The operation log data is used to represent the full amount of operation data generated during the operation of the application.
[0075] As an example, obtain the data of the database, cache, message queue, file, and the log saved by the call chain during the running of the application, and combine them with the front-end display to determine whether the debugged application meets the preset production requirements.
[0076] In some embodiments, step S102: debugging the application in the development environment to obtain the debugged application may include:
[0077] In case of a failure in the access process, the application is debugged in the development environment until the failure is eliminated and a debugged application is obtained.
[0078] Faults indicate errors or loopholes hidden in the application code. By debugging the application in the development environment, errors or loopholes in the code can be eliminated so that the application can meet the normal access needs of users.
[0079] In some embodiments, step S102: debugging the application in the development environment to obtain the debugged application may include:
[0080] When the business iteration update of the production environment is determined according to the access process, the application is debugged in the development environment to obtain a debugged application.
[0081] Business iteration updates in the production environment mean that the application provides richer or more convenient functions compared to the released version to improve the user experience.
[0082] In some embodiments, in order to improve the efficiency of application vulnerability repair, increase the release speed of debugged applications, and improve user experience, step S103: synchronously updating the application in the production environment according to the debugged application may include:
[0083] In response to the debugging, a debugged application is obtained;
[0084] Release the debugged application to the production environment through grayscale release.
[0085] Grayscale release is a smooth transition release method. Through grayscale release, some users can continue to use product feature A, while some users start to use product feature B. If users continue to have a good experience with B, the scope will be gradually expanded to migrate all users to B. Grayscale release can ensure the stability of the overall system. Problems can be discovered and adjusted during the initial grayscale to ensure user experience.
[0086] As an example, releasing a debugged application to a production environment through a grayscale release method may be releasing a debugged application to a production environment through a canary release method.
[0087] In some embodiments, if multiple modules need to be debugged together, multiple online debugging grayscale environments can be deployed through multiple containers, and multiple systems, multiple modules, and multiple teams can work together to debug quickly online, and then directly verify through online compilation or hot release mode, and perform end-to-end verification in combination with the production environment. Special scenarios can also be captured online, and comprehensive judgments can be made based on variable values, business indicators and other data to quickly locate the cause of the fault.
[0088] Figure 3 FIG. 3 is a schematic diagram of a debugging device 300 for an application program provided in an embodiment of the present application. Figure 3 As shown, the apparatus may include a display module 310 , a debugging module 320 , and an updating module 330 .
[0089] The display module 310 is used to synchronously display the access process of the application program in the development environment when accessing the application program in the production environment;
[0090] The debugging module 320 is used to debug the application program in the development environment to obtain the debugged application program;
[0091] The updating module 330 is used to synchronously update the application program in the production environment according to the debugged application program.
[0092] This embodiment synchronously displays the access process of the application in the development environment when accessing the application in the production environment. When a vulnerability occurs in the access process of the application, it is only necessary to debug the application in the development environment, and based on the debugging of the application in the development environment, the application in the production environment can be synchronously updated. In this way, there is no need to track and repair the vulnerability, which breaks the information barrier between the operation and maintenance scope and the development scope, and improves the debugging efficiency of the application.
[0093] In some embodiments, the application debugging device 300 further includes a development module and a release module;
[0094] Development module, used to develop applications based on the development environment in the container;
[0095] The release module is used to release the application to the production environment through the container's release port. The release port is used to ensure that the application runs in parallel in the production environment and the development environment.
[0096] In some embodiments, the publishing module is further used to determine a load balancing method for publishing the application to the production environment according to a preset business scenario;
[0097] Deploy the application to the production environment based on the load balancing method.
[0098] In some embodiments, the display module 310 is used to display the running code of the accessed application in the development environment when accessing the application in the production environment.
[0099] In some embodiments, the debugging module 320 is further used to perform single-step debugging on the application according to the running code to obtain a debugged application;
[0100] Determine whether the debugged application meets the preset production requirements;
[0101] If the debugged application does not meet the preset production requirements, the application is re-debugged until the application meets the preset production requirements.
[0102] In some embodiments, the debugging device 300 for an application further includes a running module, an acquiring module, and a determining module;
[0103] Run module, used to run the debugged application;
[0104] The acquisition module is used to obtain the running log data of the debugged application;
[0105] The judgment module is used to judge whether the debugged application meets the preset production requirements according to the operation log data.
[0106] In some embodiments, the debugging module 320 is also used to debug the application in the development environment when a fault occurs during the access process until the fault is eliminated to obtain a debugged application.
[0107] In some embodiments, the debugging module 320 is further used to debug the application in the development environment to obtain a debugged application when the business iteration update of the production environment is determined according to the access process.
[0108] In some embodiments, the update module 330 is further used to obtain a debugged application in response to debugging;
[0109] The release module is also used to release the debugged application to the production environment through grayscale release.
[0110] Figure 3 The various modules in the device shown can be implemented Figure 1 Each step in the above steps can achieve the corresponding technical effect, which will not be repeated here for the sake of brevity.
[0111] Figure 4 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.
[0112] The electronic device may include a processor 401 and a memory 402 storing computer program instructions.
[0113] Specifically, the processor 401 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0114] Memory 402 may include a large capacity memory for data or instructions. By way of example and not limitation, memory 402 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, memory 402 may include a removable or non-removable (or fixed) medium. In appropriate cases, memory 402 may be inside or outside of an integrated gateway disaster recovery device. In a specific embodiment, memory 402 is a non-volatile solid-state memory.
[0115] In certain embodiments, the memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of the present application.
[0116] The processor 401 implements any one of the application debugging methods in the above embodiments by reading and executing computer program instructions stored in the memory 402 .
[0117] In one example, the electronic device may further include a communication interface 403 and a bus 410. Figure 4 As shown, the processor 401, the memory 402, and the communication interface 403 are connected via a bus 410 and communicate with each other.
[0118] The communication interface 403 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0119] Bus 410 includes hardware, software or both, and the parts of electronic equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 410 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.
[0120] In addition, in combination with the debugging method of the application in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any one of the debugging methods of the application in the above embodiment is implemented.
[0121] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed, implements a debugging method for an application program in any one of the above embodiments.
[0122] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0123] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0124] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0125] The above reference is to the flowchart and / or block diagram of the method, device, equipment, storage medium and computer program product according to the embodiment of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0126] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A method for debugging an application, characterized in that: include: When accessing an application in a production environment, synchronously displaying the access process of the application in a development environment; Debugging the application in the development environment to obtain a debugged application; The application program in the production environment is synchronously updated according to the debugged application program.
2. The method according to claim 1, characterized in that: The development environment is deployed in a container. Before synchronously displaying the access process of the application in the development environment, the method further includes: Developing the application based on the development environment in the container; The application is published to the production environment through a publishing port of the container, and the publishing port is used to ensure that the application runs in parallel in the production environment and the development environment.
3. The method according to claim 2, characterized in that Publishing the application to the production environment includes: Determine the load balancing method for publishing the application to the production environment according to a preset business scenario; According to the load balancing method, the application is released to the production environment.
4. The method according to claim 1, characterized in that: When accessing the application in the production environment, synchronously displaying the access process of the application in the development environment includes: When accessing an application in a production environment, explicitly access the running code of the application in a development environment.
5. The method according to claim 4, characterized in that The debugging of the application in the development environment includes: Performing single-step debugging on the application program according to the running code to obtain a debugged application program; Determining whether the debugged application meets preset production requirements; In the case that the debugged application does not meet the preset production requirements, the application is re-debugged until the application meets the preset production requirements.
6. The method according to claim 5, characterized in that The determining whether the debugged application meets the preset production requirements includes: Running the debugged application; Obtaining the running log data of the debugged application program; It is determined whether the debugged application meets preset production requirements according to the operation log data.
7. The method according to claim 1, characterized in that Debugging the application in the development environment to obtain a debugged application includes: In the event that a fault occurs during the access process, the application is debugged in the development environment until the fault is eliminated, thereby obtaining the debugged application.
8. The method according to claim 1, characterized in that Debugging the application in the development environment to obtain a debugged application includes: In the case where the service iteration update of the production environment is determined according to the access process, the application is debugged in the development environment to obtain a debugged application.
9. The method according to claim 1, characterized in that: The synchronously updating the application in the production environment according to the debugged application includes: In response to the debugging, obtaining a debugged application program; The debugged application is released to the production environment through a grayscale release method.
10. A debugging device for an application, characterized in that: The device comprises: A display module, used for synchronously displaying the access process of the application in the development environment when accessing the application in the production environment; A debugging module, used for debugging the application in the development environment to obtain a debugged application; An updating module is used to synchronously update the application program in the production environment according to the debugged application program.
11. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the debugging method of the application program according to any one of claims 1 to 9 is implemented.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method for debugging an application program according to any one of claims 1 to 9 is implemented.
13. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the debugging method for an application as described in any one of claims 1 to 9.