WO2016173275A1 - 一种调试方法、调试装置及存储介质 - Google Patents

一种调试方法、调试装置及存储介质 Download PDF

Info

Publication number
WO2016173275A1
WO2016173275A1 PCT/CN2015/097951 CN2015097951W WO2016173275A1 WO 2016173275 A1 WO2016173275 A1 WO 2016173275A1 CN 2015097951 W CN2015097951 W CN 2015097951W WO 2016173275 A1 WO2016173275 A1 WO 2016173275A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
feature value
debugging
instruction
unit
Prior art date
Application number
PCT/CN2015/097951
Other languages
English (en)
French (fr)
Inventor
石金锋
程丽华
郑敏
安康
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2016173275A1 publication Critical patent/WO2016173275A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Definitions

  • the present invention relates to debugging techniques in the field of communications, and in particular, to a debugging method, a debugging device, and a storage medium.
  • the single-port access speed of the forwarding device in the core network has reached the Tbps level.
  • the network processor must be able to forward packets at the line rate of Tbps. Therefore, the industry uses multiple core structures and passes multiple The micro-engines are processed in parallel within the network processor to implement message forwarding.
  • Breakpoint technology is the most frequently used technology in the debugging process.
  • the basic processing flow is: the upper layer software sets (or clears) the breakpoint in the program to be executed, the program execution stops at the corresponding breakpoint, and the upper layer software is notified. To control the program to single-step debugging or continue to execute.
  • Commonly used breakpoint techniques include both hardware breakpoints and software breakpoints.
  • the network processor uses the hardware breakpoint scheme for debugging, it needs to be implemented by using hardware register resources in the network processor, and the hardware register is used to store the address of the corresponding instruction of the packet program interruption point of the network processor, and is processed in the network.
  • the address of the executed instruction and the address of the corresponding instruction of the hardware register interrupt point are continuously compared.
  • the program execution is stopped, the upper layer software is notified, and the upper layer software controls the program to enter the single step debugging or continue. Execution, etc.
  • An obvious disadvantage of the hardware breakpoint scheme is that it is limited by network processing.
  • the hardware register resources of the device the number of hardware registers in the network processor is generally only a few, the number of stored breakpoints corresponding to the instruction will be limited, far from meeting the needs of debugging.
  • their hardware register resources are more tight, and adding hardware register resources means greater resource consumption.
  • the upper layer software is used to record the address of the actual instruction and the actual instruction corresponding to the breakpoint, and the instruction of the breakpoint position in the network processor instruction memory is replaced with the soft interrupt instruction.
  • the network processor continuously detects whether the soft interrupt instruction is executed. Once the soft interrupt instruction is executed, the network processor stops executing, notifies the upper layer software, and the upper layer software sets the soft interrupt at the breakpoint. The instruction is replaced with the actual instruction, and then the upper layer software controls the program to enter the single step debugging or continue execution.
  • the software breakpoint scheme is free from the limitations of the number of addresses of the hardware breakpoint scheme breakpoint corresponding instruction, and is more widely used in practical applications.
  • each packet entering the network processor is subjected to the above-mentioned breakpoint debugging, which causes the network processor to perform the packet that does not need to be debugged. Debugging, which leads to inefficient debugging.
  • the packet is passed through the network processor at the Tbps level. Therefore, it is impossible to debug each of the packets passing through the network processor by using the above-mentioned breakpoint scheme to locate the problem.
  • the embodiment of the present invention is expected to provide a debugging method, a debugging device, and a storage medium, which can improve debugging efficiency.
  • An embodiment of the present invention provides a debugging method, which sets a feature value matching library corresponding to a message to be debugged; the method further includes:
  • the eigenvalue of the received forwarding packet is extracted, and the forwarding packet is debugged when it is determined that the eigenvalue of the forwarding packet matches the entry in the eigenvalue matching library.
  • the setting of the feature value matching library corresponding to the to-be-decoded message includes:
  • a binary parameter group corresponding to the to-be-decoded message where the binary parameter group includes at least one set of offsets and lengths, where the offset is the start byte of the most important field is based on Declaring a byte offset of a start byte of the debug message, where the length is a length of the important field;
  • the extracting the feature values of the received forwarding message includes:
  • the feature value matching library includes at least one entry; the difference between the two feature entries in the feature value matching library is that the partial bit bit values in the entry are different;
  • the determining that the feature value of the forwarded message matches the entry in the feature value matching library includes:
  • the feature value of the forwarded message is determined.
  • the entries in the feature value matching library do not match.
  • the method further includes:
  • the extracting the feature values of the received forwarding message includes:
  • the forwarding packet After receiving the forwarding packet, the forwarding packet is allocated to the first micro engine in the micro engine for processing;
  • the feature value of the forwarded message is extracted.
  • the method further includes:
  • the forwarding message is forwarded by the first micro engine
  • the method further includes:
  • the forwarded packet is forwarded.
  • the debugging the forwarding packet includes:
  • the first micro engine sends a message debugging start message to the upper layer software, and the upper layer software sets a breakpoint on the forwarding instruction of the first micro engine after receiving the debugging start message, and sets a breakpoint
  • the actual instruction is replaced with a soft interrupt instruction, and the actual instruction at the set breakpoint and the actual instruction address are stored;
  • the upper layer software notifies the first micro engine to execute the forwarding instruction of the forwarding message, and the first micro engine stops executing the instruction when executing the soft interrupt instruction, and notifies the upper layer software to execute the instruction address to the soft interrupt instruction. ;
  • the upper layer software replaces the soft interrupt instruction with an actual instruction corresponding to the actual instruction address of the same instruction address of the soft interrupt instruction according to the stored actual instruction at the breakpoint and the actual instruction address;
  • the first micro engine continues to execute the forwarding instruction of the forwarded message until the first micro engine executes the last instruction of the forwarding instruction to the forwarded message, and sends the message to the upper layer software to debug the end. Message.
  • the party The law also includes:
  • the upper layer software replaces the soft interrupt instruction at the breakpoint set on the forwarding instruction of the first microengine to the actual instruction.
  • the embodiment of the invention further provides a debugging device, comprising:
  • the feature library setting unit is configured to set a feature value matching library corresponding to the to-be-decoded message
  • An eigenvalue extraction unit configured to extract a feature value of the received forwarding message
  • a first determining unit configured to determine whether the feature value of the forwarded message extracted by the feature value extracting unit matches an entry in the feature value matching library set by the feature library setting unit;
  • the debugging unit is configured to debug the forwarded message when the first determining unit determines that the feature value of the forwarded message matches an entry in the feature value matching library.
  • the feature library setting unit is configured to set the most important field in the to-be-decoded message to the item in the feature value matching library corresponding to the to-be-decoded message; correspondingly set the corresponding to-be-decoded message a binary parameter set; wherein the binary parameter set includes at least one set of offsets and lengths, the offset being a start byte of the most important field based on a start byte of the message to be debugged a byte offset number, the length being the length of the important field;
  • the feature value extracting unit is configured to extract, according to the binary parameter group, a field in the received forwarding message as a feature value of the forwarded message.
  • the feature value matching library includes at least one entry; the difference between the two feature entries in the feature value matching library is that the partial bit bit values in the entry are different;
  • the first determining unit is configured to determine, when the bit values of the feature values of the forwarded message and the bit values of at least one of the feature value matching libraries are the same, determine the forwarding report The feature value of the text matches the entry in the feature value matching library; when each bit value of the feature value of the forwarded message is different from each bit value of any one of the feature value matching libraries And determining that the feature value of the forwarded message does not match the entry in the feature value matching library.
  • the debugging device further includes: an upper layer software unit, a message distribution unit, a second determining unit; the debugging unit includes a first micro engine unit;
  • the upper layer software unit is configured to: after the feature library setting unit sets the feature value matching library, enable a debugging switch of at least one micro engine unit in the debugging unit;
  • the packet allocation unit is configured to allocate the received forwarding packet to the first micro engine unit for processing
  • the first micro engine unit is configured to receive the forwarded message
  • the second determining unit is configured to determine whether the debugging switch of the first micro engine unit is turned on;
  • the feature value extracting unit is configured to extract the feature value of the forwarded message when it is determined that the debugging switch of the first micro engine unit is turned on.
  • the first micro-engine unit is further configured to: when the second determining unit determines that the debugging switch of the first micro-engine unit is not enabled, forwarding the forwarding packet; When the determining unit determines that the feature value of the forwarded message does not match the entry in the feature value matching library, the determining unit forwards the forwarded message.
  • the first micro-engine unit is further configured to send, when the first determining unit determines that the feature value of the forwarded message matches an entry in the feature value matching library, Message debugging start message;
  • the upper layer software unit is further configured to: after receiving the debug start message, set a breakpoint on the forwarding instruction of the first micro engine unit, and replace the actual instruction at the set breakpoint with a soft interrupt instruction, and store Setting the actual instruction at the breakpoint and the actual instruction address; then informing the first micro engine unit to execute the forwarding instruction of the forwarded message;
  • the first micro engine unit is further configured to: after receiving the notification of the upper layer software unit, execute the forwarding instruction of the forwarding message, stop executing the instruction when the soft interrupt instruction is executed, and notify the upper software unit to execute The address of the instruction to the soft interrupt instruction;
  • the upper layer software is further configured to set an actual instruction at the breakpoint according to the stored setting and The actual instruction address, replacing the soft interrupt instruction with an actual instruction corresponding to the actual instruction address that is the same as the instruction address notified by the first microengine unit; and then informing the first micro engine unit to continue executing the forwarded message Forwarding instruction;
  • the first micro-engine unit is further configured to send a message debugging end message to the upper-layer software unit when performing the last instruction of the forwarding instruction to the forwarded message.
  • the upper layer software unit is further configured to: after receiving the message debugging end message, replace the soft interrupt instruction at the breakpoint set on the forwarding instruction of the first micro engine unit to the actual instruction.
  • the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores a computer program configured to execute the above debugging method of the embodiment of the present invention.
  • the debugging method, the debugging device, and the storage medium provided by the embodiment of the present invention after receiving the forwarding packet, first extract the feature value of the forwarded packet, and then the feature value of the forwarded packet and the preset to be debugged report
  • the eigenvalues corresponding to the text match the entries in the matching library, and the forwarding packets are divided into the packets to be debugged and the packets that do not need to be debugged according to the matching result, and the packets to be debugged are debugged, and the packets that do not need to be debugged are debugged.
  • the text is forwarded directly; thus, the efficiency of debugging can be significantly improved.
  • the embodiment of the present invention can also control the debugging of the micro-engine through the upper-layer software.
  • the packet debugging is required, some micro-engines in the network processor perform packet division, and the packets to be debugged are sent to the debugging.
  • the other micro-engines in the network processor do not perform packet division and directly forward the received forwarding packets. In this way, the forwarding speed of the network processor is not affected, and the debugging efficiency of some micro-engines can be improved.
  • the debugging of some forwarding packets that need to be debugged can balance the forwarding function and debugging function of the network processor.
  • FIG. 1 is a schematic flowchart of a debugging method according to Embodiment 1 of the present invention.
  • FIG. 2 is a schematic flowchart of a debugging method according to Embodiment 2 of the present invention.
  • FIG. 3 is a structural block diagram of a debugging apparatus according to Embodiment 3 of the present invention.
  • the embodiment of the present invention provides a debugging method. As shown in FIG. 1 , the processing procedure of the method in this embodiment includes the following steps:
  • Step 101 Set a feature value matching library corresponding to the to-be-decoded message.
  • the debugging device Since the network processor with the debugging device is packet-sensitive, different messages execute different instruction streams. In most debugging situations, the debugging personnel only debugs packets of a certain type or with certain characteristics, while ignoring other reports. This makes the positioning problem faster and more efficient. In this case, in the embodiment, the debugging device presets the feature value matching library corresponding to the to-be-decoded packet according to the debugging requirement, and the subsequent step 102-103 matches the forwarding packet to be debugged, and then only needs to be forwarded for debugging. The message is debugged to improve debugging efficiency.
  • the debugging device may set the most important field in the to-be-decoded message to the entry of the feature value matching library corresponding to the to-be-decoded message, and the feature value matching library includes at least one entry.
  • the most important field is a field that can distinguish the to-be-decoded message from other messages.
  • the eigenvalue matching library includes at least one entry, and the eigenvalue matching entry in the library includes an important field of the to-be-decoded packet, because a part of the bit value of the to-be-decoded packet may be different. All possible content.
  • Step 102 Extract a feature value of the received forwarded message.
  • the debugging device may extract the field in the forwarding packet as the feature value of the forwarding packet, and the debugging device may simultaneously set the to-be-decoded report when setting the feature value matching library corresponding to the to-be-decoded packet.
  • a pair of binary parameters corresponding to the text wherein the binary parameter set includes at least one set of offsets and lengths, wherein the offset is a start byte of the most important field based on a start byte of the forwarded message The number of byte offsets, the length being the length of the important field.
  • This The debugging device may extract the corresponding field in the forwarded packet as the feature value of the forwarded packet according to the binary parameter group.
  • Step 103 Determine whether the feature value of the forwarded message matches the entry in the feature value matching library.
  • the eigenvalues of the forwarded packets After the eigenvalues of the forwarded packets are extracted, it is determined whether the eigenvalues of the forwarded packets match the entries in the eigenvalue matching database, and the bit digits of the eigenvalues match the eigenvalues to match the bit digits of each entry in the library.
  • each bit of the eigenvalue of the forwarding packet is the same as the value of the bit of the at least one entry in the eigenvalue matching library, if the eigenvalue of the packet is forwarded, When the at least one entry in the eigenvalue matching library is the same, it indicates that the eigenvalue of the forwarded packet matches an entry in the eigenvalue matching library; each bit of the eigenvalue of the forwarded packet is If the value of the bit value is not the same as the value of the bit value of the eigenvalue matching library, the eigenvalue of the forwarded message does not match the entry in the eigenvalue matching library.
  • the feature value of the forwarded message matches at least one entry in the feature value matching library.
  • step 104 is performed to debug the forwarded packet; If the eigenvalue of the forwarded packet does not match the entry in the eigenvalue matching database, it indicates that the received forwarding packet does not need to be debugged, and the current processing flow is terminated, and the forwarded packet is directly forwarded. .
  • Step 104 Debug the forwarded packet when the feature value of the forwarded packet matches an entry in the feature value matching library.
  • the current network processor uses a multi-core structure to process the received forwarding packets in parallel through multiple micro-engines.
  • step 101 is set to be debugged.
  • the eigenvalues of the packets match the library, so that each microengine can perform the steps 102 and 103 after receiving the forwarded message, and when it is determined that the feature value of the forwarded message matches the entry in the eigenvalue matching library,
  • Each micro-engine can interact with the upper-layer software as in the prior art, and debug the forwarded message according to the software breakpoint scheme.
  • the forwarding packet of the Tbps level is forwarded by the network processor. If each microengine in the network processor performs the step 102, it is determined whether the packet is forwarded or the packet is debugged. It is difficult to implement; therefore, the debugging device can enable the debugging of some micro-engines through the upper-layer software. Only the micro-engine that is enabled by the debugging switch performs the matching process and the debugging process of step 102, debugs the matched forwarding message, and the debugging switch is not turned on. The micro-engine directly forwards the received forwarding message, and does not perform the matching process and the debugging process of step 102.
  • the debugging of some forwarding packets that need to be debugged can balance the forwarding function and debugging function of the network processor.
  • the debugging method after receiving the forwarding packet, first extracts the feature value of the forwarded packet, and then matches the feature value of the forwarded packet with the feature value corresponding to the preset to-be-decoded packet. The entries in the matching are matched. According to the matching result, the forwarding packets are divided into the packets to be debugged and the packets to be debugged. The packets to be debugged are debugged, and the packets that do not need to be debugged are directly forwarded. Can significantly improve the efficiency of debugging.
  • the embodiment of the present invention provides a debugging method. As shown in FIG. 2, the processing procedure of the method in this embodiment includes the following steps:
  • step 201 when the packet debugging is required, the eigenvalue matching library corresponding to the to-be-decoded packet is set, and the binary parameter group corresponding to the to-be-decoded packet is set accordingly.
  • the debugger starts to debug the packet to locate and analyze the problem.
  • the method provided in this embodiment is to debug only a certain type of packet that has a problem.
  • the debugging device may set the most important field in the to-be-decoded message to the entry in the feature value matching library corresponding to the to-be-decoded message, where the feature value matching library includes at least one entry, and the most important field described herein is A field that can distinguish the to-be-decoded message from other messages.
  • the important fields in the message to be debugged are: 12 bytes - 13 bytes, 16 bytes - 17 bytes, 12 bytes - 13 bytes, and 16 words.
  • the -17-byte packet indicates the Layer 2 type of the Ethernet packet.
  • the QinQ-type packet can be distinguished from other types of packets. At this time, 12 bytes - 13 bytes and 16 bytes - 17 bytes can be spliced into one field to set the eigenvalue matching entry in the library.
  • the other bit values in the eigenvalues of the forwarded packets are the same as the values in the entries, and the 9-bit bits are 1 or 0, which can be matched with the entries of the feature matching library.
  • the matching range ensures that the forwarding packets that need to be debugged are not missed.
  • the debugging device can simultaneously set the binary parameter group corresponding to the to-be-decoded packet; wherein the binary parameter group includes at least one set of offset and length,
  • the offset is the start byte of the most significant field based on the number of byte offsets of the start byte of the forwarded message, the length being the length of the important field.
  • the important fields in the to-be-decoded packet are: 12 bytes - 13 bytes, 16 bytes - 17 bytes.
  • the binary parameter group corresponding to the message feature of the text is ⁇ offset 12, length 2> and ⁇ offset 16 and length 2>.
  • Step 202 Turn on a debugging switch of at least one micro engine.
  • the upper layer software can enable the debugging of at least one micro engine in the network processor, and the at least one micro engine can perform the debugging process of forwarding the packet.
  • the at least one micro engine can perform the debugging process of forwarding the packet.
  • a debug switch of all the micro-engines in the network processor At this time, the network processor does not debug the received forwarding packet, and directly forwards the received forwarding packet through the micro-engine.
  • the number of micro-engines that enable the debugging switch can be set according to the actual situation. When the forwarding task is heavy, a small number of micro-engine debugging switches are enabled. When the forwarding task is lighter, the debugging tasks are heavier, and most micro-engine debugging switches are enabled.
  • Step 203 After receiving the forwarding packet, the forwarding packet is allocated to the first micro-engine for processing; and determining whether the debugging of the first micro-engine is enabled.
  • the debugging device After receiving the forwarding packet, the debugging device allocates the forwarding packet to each micro-engine.
  • the packet debugging process is different from the packet forwarding processing.
  • the micro-engine that is enabled by the debugging switch must send the forwarding packet to the micro-engine for execution one at a time. In the multi-micro engine environment, the micro-engine forwarding capability of the debugging switch is reduced, and the forwarding pressure is assumed by the micro-engine that is not turned on by other debugging switches.
  • step 204 when the micro-engine No. 1 micro-engine receives the forwarding message, it determines that its own debugging switch is enabled. At this time, the feature value of the packet is extracted and the feature matching is performed in step 204; when the micro-engine No. 5- After receiving the forwarding packet, the micro-engine 10 determines that its debugging switch is not enabled. At this point, the current processing flow ends, and step 213 is performed to directly forward the received forwarding packet.
  • Step 204 Extract feature values of the forwarded packet.
  • the debugging device may allocate the forwarding packet to the first micro-engine for processing; and then determine whether the debugging of the first micro-engine is enabled, and the debugging of the first micro-engine is determined to be enabled. And extracting a field in the forwarded message as the feature value of the forwarded message, where the debugging device may extract the feature value according to the binary parameter set set in step 101, as described in the example in step 101, in the second When the meta parameter group is ⁇ offset 12, length 2> and ⁇ offset 16 and length 2>, the debugging device extracts 12 bytes in the forwarded message-13 The field of the byte and the 16-byte-17-byte field. A field of 12 bytes to 13 bytes and a field of 16 bytes to 17 bytes are spliced as the feature value of the forwarded message.
  • Step 205 Determine whether the feature value of the forwarded message matches the entry in the feature value matching library.
  • the bit number of the feature value of the forwarded message is the same as the bit number of each entry in the matching value of the feature value, and it is determined whether the bit value of the feature value of the forwarded message is related to the bit value.
  • the value of the bit value of the at least one entry in the eigenvalue matching library is the same. If the feature value of the forwarded message is the same as the at least one entry in the eigenvalue matching library, the feature of the forwarded message is indicated. The value matches the entry in the feature value matching library; when each bit value of the feature value of the forwarded message is different from each bit value of any one of the feature value matching libraries, it indicates The feature value of the forwarded message does not match the entry in the feature value matching library.
  • the packets to be debugged are QinQ-type packets.
  • the important fields in the packets to be debugged are 12 bytes - 13 bytes and 16 bytes - 17 bytes.
  • the splicing is set to a field to match the eigenvalues.
  • the entry in the library at this time there are two entries in the eigenvalue matching library: 0000 0010 0100 1100 and 0000 0010 1100 1100; in step 204, according to the binary parameter group, ⁇ offset is 12, length is 2> and ⁇ The offset is 16 and the length is 2>, and the field of 12 bytes to 13 bytes and the field of 16 bytes to 17 bytes are extracted in the forwarded message, and the field of 12 bytes to 13 bytes is 16 and 16 The field suffix of -17 bytes is used as the feature value of the forwarded message.
  • the bit value of the feature value of the forwarded message matches the bit value of an entry in the eigenvalue matching library. If the eigenvalue of the forwarded packet is not 0000 0010 0100 1100 or 0000 0010 1100 1100, it is determined that the eigenvalue of the forwarded packet matches the entry in the eigenvalue matching library. The bit value of the eigenvalue of the message is different from the bit value of any one of the eigenvalue matching libraries, and the eigenvalue of the forwarded message and the eigenvalue matching library are determined. The entries do not match.
  • the eigenvalue of the forwarded packet may be determined to match at least one of the eigenvalue matching pools. Then, step 206 is performed to enter the debugging. The process is to debug the forwarded packet. When it is determined that the feature value of the forwarded packet does not match the entry in the feature value matching library, step 213 is performed to forward the forwarded packet.
  • Step 206 The upper layer software sets a breakpoint.
  • the first micro-process is processed because the forwarded message is allocated to the first micro-engine for processing.
  • the engine sends a message debug start message to the upper layer software, and the upper layer software sets a breakpoint on the forwarding instruction of the first micro engine after receiving the debug start message, and replaces the actual instruction at the set breakpoint with a soft interrupt instruction, storing the actual instruction at the set breakpoint and the actual instruction address, and then notifying the first micro engine to execute the forwarding instruction of the forwarded message,
  • Step 207 The first micro engine executes to the soft interrupt instruction, stops execution, notifies the upper layer software to replace the actual instruction, and continues to be executed by the upper layer software control.
  • the first microengine executes the forwarding instruction of the forwarded message, and the first microengine stops the execution of the instruction when the soft interrupt instruction is executed, and notifies the upper layer software to execute the instruction address to the soft interrupt instruction; the upper layer software Replacing the soft interrupt instruction with an actual instruction corresponding to the actual instruction address of the same instruction address of the soft interrupt instruction according to the stored actual instruction at the breakpoint and the actual instruction address; and then notifying the first The micro engine continues to execute the forwarding instruction of the forwarded message.
  • Step 208 Determine whether debugging of the forwarded packet ends.
  • Determining whether the debugging of the forwarded message ends is determining whether the first micro engine executes the last instruction of the forwarding instruction to the forwarded message.
  • step 207 If not, proceed to step 207, and if yes, proceed to step 209.
  • Step 209 Send a message debugging end message to the upper layer software by using the first engine.
  • Step 210 The upper layer software replaces the soft interrupt instruction at the breakpoint set on the forwarding instruction of the first microengine to the actual instruction.
  • the next forwarding packet is sent to the first micro-engine to perform the matching.
  • the next forwarding packet may be matched with the forwarding packet that does not need to be debugged.
  • a forwarding packet execution path result that does not need to be debugged is correct.
  • the upper layer software needs to replace the soft interrupt instruction at the breakpoint set on the forwarding instruction of the first microengine to the actual The instruction prevents the first engine from executing a soft interrupt instruction when executing the next forwarded message that does not require debugging.
  • Step 211 The upper layer software selects whether packet debugging needs to be performed.
  • step 212 If yes, continue with steps 202-210. If no, proceed to step 212.
  • Step 212 The upper layer software closes the debugging switch of the micro engine.
  • the upper layer software will disable the debugging of the microengine, and the microengine in the debugging processor will perform the step 213 to directly forward the received forwarding packet.
  • Step 213 Forward the forwarded packet by using the first micro engine.
  • the method provided in this embodiment controls the debugging of the micro-engine through the upper-layer software.
  • some micro-engines in the network processor perform packet division, and the packets to be debugged are sent to the debugging process.
  • the other micro-engines in the network processor do not perform packet division and directly forward the received forwarding packets. This does not affect the forwarding speed of the network processor, but also improves the debugging efficiency of some micro-engines, debugs some of the forwarding packets that need to be debugged, and balances the forwarding function and debugging function of the network processor.
  • the debugging device includes: a feature library setting unit 301, a feature value extracting unit 302, a first determining unit 303, and a debugging unit. 304, wherein
  • the feature library setting unit 301 is configured to set a feature value matching library corresponding to the message to be debugged; the feature value extracting unit 302 is configured to extract the feature value of the received forwarding message; the first determining unit 303 is configured to determine the Whether the feature value of the forwarded message extracted by the feature value extracting unit 302 matches the entry in the feature value matching library set by the feature library setting unit 301; the debugging unit 304 is configured to determine the location in the first determining unit 303. When the feature value of the forwarded message matches the entry in the feature value matching library, the forwarded message is debugged.
  • the feature library setting unit 301 is configured to set the most important field in the to-be-decoded message to the entry in the feature value matching library corresponding to the to-be-decoded message; and correspondingly set the binary corresponding to the to-be-decoded message a parameter group; wherein the binary parameter group includes at least one set of offsets and lengths, where the offset is a starting byte of the most important field based on a byte offset of a starting byte of the to-be-decoded message a number of shifts, the length being the length of the important field; correspondingly, the feature value extracting unit 302 is configured to extract, according to the binary parameter group set by the feature library setting unit 301, the received forwarding message The field is the feature value of the forwarded message.
  • the feature value matching library includes at least one entry; the difference between the two feature entries in the feature value matching library is that the partial bit bit values in the entry are different; the first determining unit 303 is configured to be in the forwarding When the bit value of the feature value of the message is the same as the value of each bit bit of the at least one item in the feature value matching library, it is determined that the feature value of the forwarded message matches the item in the library with the feature value. Matching; when the bit value of the feature value of the forwarded message is different from the bit value of any one of the feature value matching libraries, determining the feature value of the forwarded message and the The entries in the eigenvalue matching library do not match.
  • the debugging apparatus further includes: an upper layer software unit 305, a message distribution unit 306, a second determining unit 307, and the debugging unit 304 includes a first micro engine unit 3041 and other micro engine units; ,
  • the upper layer software unit 305 is configured to set the special feature in the feature library setting unit 301 After the value matching library is enabled, the debugging switch of the at least one micro-engine unit is enabled; the message distribution unit 306 is configured to allocate the received forwarding message to the first micro-engine unit 3041 for processing; the first micro-engine unit 3041, configured to receive the forwarded packet, where the second determining unit 307 is configured to determine whether the debugging of the first micro-engine unit 3041 is enabled; correspondingly, the feature value extracting unit 302 is configured to be When it is determined that the debugging switch of the first micro-engine unit 3041 is enabled, the feature value of the forwarded message is extracted.
  • the first micro-engine unit 3041 is further configured to: when the second determining unit 307 determines that the debugging switch of the first micro-engine unit 3041 is not enabled, forwarding the forwarded message; When the unit 303 determines that the feature value of the forwarded message does not match the entry in the feature value matching library, the unit 303 forwards the forwarded message.
  • the first micro-engine unit 3041 is further configured to send a report to the upper layer software unit 305 when the first determining unit 303 determines that the feature value of the forwarded message matches an entry in the feature value matching library.
  • the upper layer software unit 305 is further configured to set a breakpoint on the forwarding instruction of the first microengine unit 3041 after receiving the debug start message, and set an actual instruction at the breakpoint And replacing with the soft interrupt instruction, storing the actual instruction at the set breakpoint and the actual instruction address; then informing the first micro-engine unit 3041 to execute the forwarding instruction of the forwarded message; the first micro-engine unit 3041, It is further configured to: after receiving the notification of the upper layer software unit 305, execute the forwarding instruction of the forwarding message, stop executing the instruction when executing the soft interrupt instruction, and notify the upper software unit to execute the instruction address to the soft interrupt instruction.
  • the upper layer software 305 is further configured to use the first micro engine unit 304 according to the stored actual instruction at the breakpoint and the actual instruction address. 1 notifying the actual instruction corresponding to the actual instruction address with the same instruction address, replacing the soft interrupt instruction; and then notifying the first micro engine unit 3041 to continue executing the forwarding instruction of the forwarded message.
  • the first micro-engine unit 3041 is further configured to send a message debugging end message to the upper-layer software unit 305 when executing the last instruction of the forwarding instruction to the forwarded message.
  • the upper layer software unit 305 is further configured to replace the soft interrupt instruction at the set break point of the forwarding instruction of the first micro engine unit 3041 with the actual instruction after receiving the message debugging end message.
  • the upper layer software unit 3041 is further configured to turn off the debugging switch of the micro engine unit in the debugging unit 308 when the message debugging is not required.
  • the feature library setting unit 301, the feature value extracting unit 302, the first determining unit 303, the upper layer software unit 305, the message allocating unit 306, and the second determining unit 307 may be processed by a central processing located on the network processor.
  • Device CPU
  • microprocessor MPU
  • DSP digital signal processor
  • FPGA field programmable gate array
  • the debug unit 304 can be implemented by a plurality of microengines located on a network processor.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the computer is readable and stored
  • the instructions in the reservoir produce an article of manufacture comprising an instruction device that implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the embodiment of the invention discloses a debugging method and a debugging device. After receiving a forwarding packet, the eigenvalue of the forwarding packet is extracted, and the eigenvalue of the forwarding packet and the preset to-be-decoded packet are The corresponding eigenvalues match the entries in the library to match, and the forwarding packets are divided into the packets to be debugged and the packets that need to be debugged according to the matching result, and the packets to be debugged are debugged, and the packets that do not need to be debugged are debugged. Direct forwarding; in this way, the efficiency of debugging can be significantly improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种调试方法,所述方法包括:设置待调试报文对应的特征值匹配库;提取接收到的转发报文的特征值,在判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。本发明实施例还同时公开了一种调试装置及存储介质。

Description

一种调试方法、调试装置及存储介质 技术领域
本发明涉及通信领域中的调试技术,尤其涉及一种调试方法、调试装置及存储介质。
背景技术
当前,核心网络中转发设备的单端口接入速度已经达到Tbps级别,网络处理器作为转发设备的核心,必须能够以Tbps级别的线速完成报文转发,因此,业界多使用多核结构,通过多个微引擎在网络处理器内部并行处理来实现报文转发。
随着网络处理器内核数量和处理能力的不断增强,如何在出现故障时,有效定位和分析问题就显得至关重要,而调试技术被广泛地应用于网络处理器的故障定位,因此,有效的调试方式对网络处理器的设计和使用有着极其重要的作用。
断点技术是调试过程中使用最频繁的技术,其基本处理流程是:由上层软件在待执行的程序中设置(或清除)断点,程序执行到对应断点处停止执行,并通知上层软件来控制程序进行单步调试或继续执行等。常用的断点技术包含硬件断点和软件断点两种。
若网络处理器采用硬件断点方案进行调试,则需要使用网络处理器中的硬件寄存器资源来实现,该硬件寄存器用来存放经过网络处理器的报文程序中断点对应指令的地址,在网络处理器执行程序的过程中,不断比较所执行指令的地址和硬件寄存器中断点对应指令的地址,发现两个地址相同时停止程序执行,通知上层软件,由上层软件来控制程序进入单步调试或者继续执行等。硬件断点方案一个显而易见的缺点是:受限于网络处理 器的硬件寄存器资源,网络处理器中硬件寄存器的数量一般只有数个,存储的断点对应指令的地址数目会受到限制,远远无法满足调试的需求。对拥有多核的网络处理器而言,其硬件寄存器资源更加紧张,而增加硬件寄存器资源,意味着更大的资源消耗。
若网络处理器采用软件断点方案进行调试,则利用上层软件记录设置断点处对应的实际指令和实际指令的地址,并将网络处理器指令存储器中的断点位置的指令替换成软中断指令,在网络处理器执行程序的过程中,网络处理器不断检测是否执行到软中断指令,一旦执行到软中断指令,网络处理器停止执行,通知上层软件,由上层软件将断点处的软中断指令替换成实际指令,随后由上层软件来控制程序进入单步调试或者继续执行等。软件断点方案摆脱了硬件断点方案断点对应指令的地址数目受限的局限性,在实际应用中更加广泛。
由于不同类型报文执行不同的指令流,多数调试情况下调试人员只需针对某类型的报文进行调试。然而,无论是硬件断点方案或者是软件断点方案,都是将进入网络处理器的每个报文均进行上述断点调试,这就导致网络处理器对不需要进行调试的报文也进行了调试,进而导致调试效率低下。并且,在实际网络环境下,报文是以Tbps级别通过网络处理器的,故应用上述断点方案对每个经过网络处理器的报文进行调试以定位问题是不可能实现的。
发明内容
有鉴于此,本发明实施例期望提供一种调试方法、调试装置及存储介质,可以提高调试效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明的一个实施例提供了一种调试方法,设置待调试报文对应的特征值匹配库;所述方法还包括:
提取接收到的转发报文的特征值,在判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。
上述方案中,所述设置待调试报文对应的特征值匹配库,包括:
将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库中的条目;
相应设置所述待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述待调试报文开始字节的字节偏移数,所述长度为所述重要字段的长度;
相应的,所述提取接收到的转发报文的特征值,包括:
根据所述二元参数组提取接收到的转发报文中的字段为所述转发报文的特征值。
上述方案中,所述特征值匹配库中包括至少一个条目;所述特征值匹配库中任两个条目的区别是条目中部分bit位值不同;
所述判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配,包括:
在所述转发报文的特征值的各bit位值与所述特征值匹配库中的至少一个条目的各bit位值都相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配;
相应的,在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
上述方案中,在所述设置待调试报文对应的特征值匹配库之后,所述方法还包括:
通过上层软件开启至少一个微引擎的调试开关;
相应的,所述提取接收到的转发报文的特征值,包括:
接收到转发报文后,将所述转发报文分配给微引擎中的第一微引擎处理;
在判断出的第一微引擎的调试开关开启时,提取所述转发报文的特征值。
上述方案中,所述方法还包括:
在判断出所述第一微引擎的调试开关未开启时,通过所述第一微引擎转发所述转发报文;
所述提取接收到的转发报文的特征值之后,所述方法还包括:
在判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,转发所述转发报文。
上述方案中,所述调试所述转发报文,包括:
所述第一微引擎向上层软件发送报文调试开始消息,所述上层软件接收到所述调试开始消息后在所述第一微引擎的转发指令上设置断点,并将设置断点处的实际指令替换为软中断指令,存储所述设置断点处的实际指令以及实际指令地址;
所述上层软件通知所述第一微引擎执行所述转发报文的转发指令,所述第一微引擎在执行到软中断指令时,停止指令执行,通知上层软件执行到软中断指令的指令地址;
所述上层软件根据存储的所述设置断点处的实际指令以及实际指令地址,用与所述软中断指令的指令地址相同的实际指令地址对应的实际指令,替换所述软中断指令;然后通知所述第一微引擎继续执行所述转发报文的转发指令,直至所述第一微引擎执行到所述转发报文的转发指令的最后一行指令处,向所述上层软件发送报文调试结束消息。
上述方案中,在所述上层软件接收到报文调试结束消息之后,所述方 法还包括:
所述上层软件将所述第一微引擎的转发指令上设置断点处的软中断指令替换回实际指令。
本发明实施例还提供了一种调试装置,包括:
特征库设置单元,配置为设置待调试报文对应的特征值匹配库;
特征值提取单元,配置为提取接收到的转发报文的特征值;
第一判断单元,配置为判断所述特征值提取单元提取的转发报文的特征值与所述特征库设置单元设置的特征值匹配库中的条目是否匹配;
调试单元,配置为在所述第一判断单元判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。
上述方案中,所述特征库设置单元,配置为将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库中的条目;相应设置所述待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述待调试报文开始字节的字节偏移数,所述长度为所述重要字段的长度;
相应的,所述特征值提取单元,配置为根据所述二元参数组提取接收到的转发报文中的字段为所述转发报文的特征值。
上述方案中,所述特征值匹配库中包括至少一个条目;所述特征值匹配库中任两个条目的区别是条目中部分bit位值不同;则,
所述第一判断单元,配置为在所述转发报文的特征值的各bit位值与所述特征值匹配库中的至少一个条目的各bit位值都相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配;在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
上述方案中,所述调试装置还包括:上层软件单元、报文分配单元、 第二判断单元;所述调试单元中包括第一微引擎单元;其中,
所述上层软件单元,配置为在所述特征库设置单元设置所述特征值匹配库之后,开启所述调试单元中至少一个微引擎单元的调试开关;
所述报文分配单元,配置为将接收到的转发报文分配给第一微引擎单元处理;
所述第一微引擎单元,配置为接收所述转发报文;
所述第二判断单元,配置为判断所述第一微引擎单元的调试开关是否开启;
相应的,所述特征值提取单元,配置为在判断出所述第一微引擎单元的调试开关开启时,提取所述转发报文的特征值。
上述方案中,所述第一微引擎单元,还配置为在所述第二判断单元判断出所述第一微引擎单元的调试开关未开启时,转发所述转发报文;在所述第一判断单元判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,转发所述转发报文。
上述方案中,所述第一微引擎单元,还配置为在所述第一判断单元判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,向上层软件单元发送报文调试开始消息;
所述上层软件单元,还配置为在接收到所述调试开始消息后在所述第一微引擎单元的转发指令上设置断点,并将设置断点处的实际指令替换为软中断指令,存储所述设置断点处的实际指令以及实际指令地址;然后通知所述第一微引擎单元执行所述转发报文的转发指令;
所述第一微引擎单元,还配置为在接收到所述上层软件单元的通知后,执行所述转发报文的转发指令,在执行到软中断指令时,停止指令执行,通知上层软件单元执行到软中断指令的指令地址;
所述上层软件,还配置为根据存储的所述设置断点处的实际指令以及 实际指令地址,用与所述第一微引擎单元通知的指令地址相同的实际指令地址对应的实际指令,替换所述软中断指令;然后通知所述第一微引擎单元继续执行所述转发报文的转发指令;
所述第一微引擎单元,还配置为在执行到所述转发报文的转发指令的最后一行指令处时,向所述上层软件单元发送报文调试结束消息。
上述方案中,所述上层软件单元,还配置为在接收到报文调试结束消息之后,将所述第一微引擎单元的转发指令上设置断点处的软中断指令替换回实际指令。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序配置为执行本发明实施例的上述调试方法。
本发明实施例提供的调试方法、调试装置及存储介质,在接收到转发报文后,先提取该转发报文的特征值,再将所述转发报文的特征值与预先设置的待调试报文对应的特征值匹配库中的条目进行匹配,根据匹配结果将转发报文划分为需要调试的报文和不需要调试的报文,对需要调试的报文进行调试,对不需要调试的报文直接转发;如此,能够显著提高调试的效率。
另外,本发明实施例还可以通过上层软件来控制微引擎的调试开关,在需要进行报文调试时,使网络处理器中的部分微引擎进行报文划分,将需要调试的报文送入调试流程;网络处理器中的其它微引擎不进行报文划分,直接将接收到的转发报文转发出去。这样,既不影响网络处理器的转发速度,也可以提高部分微引擎的调试效率;对部分需要调试的转发报文进行调试,能平衡网络处理器的转发功能和调试功能。
附图说明
图1为本发明实施例1提供的一种调试方法流程示意图;
图2为本发明实施例2提供的一种调试方法流程示意图;
图3为本发明实施例3提供的一种调试装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种调试方法,如图1所示,本实施例方法的处理流程包括以下步骤:
步骤101、设置待调试报文对应的特征值匹配库。
由于设置有调试装置的网络处理器是报文敏感的,不同报文执行不同的指令流,多数调试情况下调试人员只针对某类型或具有某种特征的报文进行调试,而忽略其他的报文,这样定位问题更加快速和高效。此时,本实施例中调试装置根据调试的需要预先设置待调试报文对应的特征值匹配库,以备后续进行步骤102-103匹配出需要调试的转发报文,进而只对需要调试的转发报文进行调试,提高调试效率。
在这里,调试装置可以将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库的条目,所述特征值匹配库中包括至少一个条目。这里,所述的最重要字段是能够将所述待调试报文与其他报文区分的字段。由于待调试报文的重要字段中可能有部分bit位值不同,故所述特征值匹配库中包括至少一个条目,所述特征值匹配库中的各条目就包括待调试报文的重要字段中所有可能的内容。
步骤102、提取接收到的转发报文的特征值。
调试装置在接收到转发报文后,可以提取转发报文中的字段作为所述转发报文的特征值,调试装置在设置待调试报文对应的特征值匹配库时,可以同时设置待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述转发报文开始字节的字节偏移数,所述长度为所述重要字段的长度。这 样,调试装置可以根据二元参数组提取出所述转发报文中的相应字段作为转发报文的特征值。
步骤103、判断所述转发报文的特征值与所述特征值匹配库中的条目是否匹配。
提取了转发报文的特征值后,判断转发报文的特征值与所述特征值匹配库中的条目是否匹配,特征值的bit位数与所述特征值匹配库中各条目的bit位数都是相同的,需要判断的是转发报文的特征值的各bit位值是否与所述特征值匹配库中的至少一个条目的各bit位值都相同,若所述转发报文的特征值与所述特征值匹配库中的至少一个条目相同时,则表明所述转发报文的特征值与所述特征值匹配库中的条目匹配;在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,则表明所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
由于特征值匹配库与二元参数组的设置规则是一样的,都表示的是待调试报文中的最重要字段,则在所述转发报文是待调试的报文时,必然可以判断出所述转发报文的特征值与所述特征值匹配库中的至少一个条目匹配。
在判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,表明接收到的转发报文需要进行调试,此时就进行步骤104调试所述转发报文;在判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,表明接收到的转发报文不需要进行调试,此时就结束当前处理流程,直接转发所述转发报文。
步骤104、在所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。
现在的网络处理器多使用多核结构,通过多个微引擎并行处理接收到的转发报文,在需要对某一类报文进行调试时,进行步骤101设置待调试 报文的特征值匹配库,这样每个微引擎接收到转发报文后都可以进行步骤102、103,在判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,每个微引擎都可以像现有技术一样与上层软件交互,按照软件断点方案调试所述转发报文。
在实际的应用中,由于有Tbps级别的转发报文通过网络处理器转发,若网络处理器中的每个微引擎都进行步骤102判断后,再决定是转发该报文还是调试该报文,实现起来比较困难;故调试装置可以通过上层软件开启部分微引擎的调试开关,只有调试开关开启的微引擎才进行步骤102的匹配过程和调试过程,调试匹配的转发报文,而调试开关未开启的微引擎直接将接收到的转发报文转发,不再进行步骤102的匹配过程和调试过程。这样,既不影响网络处理器的转发速度,也可以提高调试开关开启的微引擎的调试效率;对部分需要调试的转发报文进行调试,能平衡网络处理器的转发功能和调试功能。
本实施例提供的调试方法,在接收到转发报文后,先提取该转发报文的特征值,再将所述转发报文的特征值与预先设置的待调试报文对应的特征值匹配库中的条目进行匹配,根据匹配结果将转发报文划分为需要调试的报文和不需要调试的报文,对需要进行调试的报文进行调试,对不需要进行调试的报文直接转发,如此,能够显著提高调试的效率。
实施例2
本发明实施例提供了一种调试方法,如图2所示,本实施例方法的处理流程包括以下步骤:
步骤201、在需要进行报文调试时,设置待调试报文对应的特征值匹配库,并相应设置所述待调试报文对应的二元参数组。
在出现故障时,调试人员开始进行报文调试来定位和分析问题,本实施例提供的方法是只调试出现问题的某一类的报文,对于这类待调试报文, 调试装置可以将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库中的条目,所述特征值匹配库中包括至少一个条目这里所述的最重要字段是能够将所述待调试报文与其他报文区分的字段。示例的,如待调试报文是QinQ类型报文时,待调试报文中的重要字段:12字节-13字节、16字节-17字节,12字节-13字节和16字节-17字节表示以太报文二层类型,可以将QinQ类型报文与其他类型的报文进行区分。这时就可以将12字节-13字节和16字节-17字节拼接成一个字段设置为所述特征值匹配库中的条目。由于各QinQ类型报文的重要字段中可能有部分bit位值不同,假设这些重要字段拼接后的内容有两种情况是:0000 0010 0100 1100和0000 0010 1100 1100,则所述特征值匹配库中包括两个条目。这两个条目的区别就是9bit位值一个为1,一个为0。
这样后续与转发报文的特征值进行匹配时,转发报文的特征值中其他bit位值与条目中的值相同,9bit位是1或者0都可以与特征匹配库的条目匹配上,扩大了匹配范围,保证匹配时不漏掉需要调试的转发报文。
调试装置在设置待调试报文对应的特征值匹配库时,可以同时设置待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述转发报文开始字节的字节偏移数,所述长度为所述重要字段的长度。如上述示例所述,待调试报文是QinQ类型报文时,待调试报文中的重要字段为:12字节-13字节、16字节-17字节,此时相应的待调试报文的报文特征对应的二元参数组就是<偏移量为12,长度为2>和<偏移量为16,长度为2>。
步骤202、开启至少一个微引擎的调试开关。
在需要进行报文调试时,设置了特征值匹配库后,上层软件可以开启网络处理器中至少一个微引擎的调试开关,通过该至少一个微引擎来进行转发报文的调试流程。当然,在不需要进行报文调试时,可以关闭所述网 络处理器中所有微引擎的调试开关,这时,所述网络处理器对接收到的转发报文不再进行调试,直接通过微引擎将接收到的转发报文转发。
开启调试开关的微引擎的数量可以根据实际情况来设定,转发任务比较重时,就开启少量微引擎的调试开关,转发任务较轻调试任务较重时,就开启多数微引擎的调试开关。
假设网络处理器中共有10个微引擎(记为1号微引擎-10号微引擎),可以开启1号微引擎-4号微引擎的调试开关。
步骤203、接收到转发报文后,将所述转发报文分配给第一微引擎处理;判断第一微引擎的调试开关是否开启。
调试装置接收到转发报文后,会将转发报文分配给各个微引擎处理,报文调试处理不同于报文转发处理,调试开关开启的微引擎必须将转发报文一次一个送入微引擎进行执行,在多微引擎环境下,调试开关开启的微引擎转发能力下降,转发压力由其他调试开关未开启的微引擎承担。
假设当1号微引擎-4号微引擎接收到转发报文后,判断出自身的调试开关是开启的,此时就提取报文的特征值进行步骤204进行特征匹配;当5号微引擎-10号微引擎接收到转发报文后,判断出自身的调试开关是未开启的,此时结束当前处理流程,就进行步骤213,直接将接收到的转发报文转发。
步骤204、提取所述转发报文的特征值。
调试装置接收到转发报文后,可以将所述转发报文分配给第一微引擎处理;然后判断出的第一微引擎的调试开关是否开启,在判断出的第一微引擎的调试开关开启时,提取转发报文中的字段作为所述转发报文的特征值,在这里调试装置可以根据步骤101中设置的二元参数组来提取特征值,如步骤101中的示例所述,在二元参数组为<偏移量为12,长度为2>和<偏移量为16,长度为2>的情况下,调试装置提取所述转发报文中12字节-13 字节的字段以及16字节-17字节的字段。将12字节-13字节的字段以及16字节-17字节的字段拼接作为所述转发报文的特征值。
步骤205、判断所述转发报文的特征值与所述特征值匹配库中的条目是否匹配。
所述转发报文的特征值的bit位数与所述特征值匹配库中各条目的bit位数都是相同的,需要判断的是转发报文的特征值的各bit位值是否与所述特征值匹配库中的至少一个条目的各bit位值都相同,若所述转发报文的特征值与所述特征值匹配库中的至少一个条目相同时,则表明所述转发报文的特征值与所述特征值匹配库中的条目匹配;在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,则表明所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
如上述的示例,假设待调试报文是QinQ类型报文,待调试报文中的重要字段为12字节-13字节和16字节-17字节,拼接为一个字段设置为特征值匹配库中的条目,此时特征值匹配库中有两个条目:0000 0010 0100 1100和0000 0010 1100 1100;在步骤204可以根据二元参数组为<偏移量为12,长度为2>和<偏移量为16,长度为2>,提取所述转发报文中12字节-13字节的字段以及16字节-17字节的字段,将12字节-13字节的字段以及16字节-17字节的字段拼接作为所述转发报文的特征值。若所述转发报文的特征值为0000 0010 0100 1100或者0000 0010 1100 1100时,即转发报文的特征值的各bit位值与所述特征值匹配库中的一个条目的各bit位值都相同,此时可以判定所述转发报文的特征值与所述特征值匹配库中的条目匹配;若所述转发报文的特征值不是0000 0010 0100 1100也不是0000 0010 1100 1100时,即转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同,此时可以判定所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
由于特征值匹配库与二元参数组的设置规则是一样的,都表示的是待调试报文中的最重要字段。则在所述转发报文是待调试的报文时,必然可以判断出所述转发报文的特征值与所述特征值匹配库中的至少一个条目匹配,此时就进行步骤206,进入调试流程,调试所述转发报文。在判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,进行步骤213转发所述转发报文。
步骤206、上层软件设置断点。
在判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配后,由于所述转发报文时被分配到所述第一微引擎进行处理的,故所述第一微引擎会向上层软件发送报文调试开始消息,所述上层软件接收到所述调试开始消息后在所述第一微引擎的转发指令上设置断点,并将设置断点处的实际指令替换为软中断指令,存储所述设置断点处的实际指令以及实际指令地址,然后通知所述第一微引擎执行所述转发报文的转发指令,
步骤207、第一微引擎执行到软中断指令处,停止执行,通知上层软件替换回实际指令,并由上层软件控制继续往下执行。
所述第一微引擎执行所述转发报文的转发指令,所述第一微引擎在执行到软中断指令时,停止指令执行,通知上层软件执行到软中断指令的指令地址;所述上层软件根据存储的所述设置断点处的实际指令以及实际指令地址,用与所述软中断指令的指令地址相同的实际指令地址对应的实际指令,替换所述软中断指令;然后通知所述第一微引擎继续执行所述转发报文的转发指令。
步骤208、判断所述转发报文的调试是否结束。
判断所述转发报文的调试是否结束就是判断所述第一微引擎是否执行到所述转发报文的转发指令的最后一行指令处。
若未结束,则继续进行步骤207,若结束,则进行步骤209。
步骤209、通过所述第一引擎向所述上层软件发送报文调试结束消息。
步骤210、所述上层软件将所述第一微引擎的转发指令上设置断点处的软中断指令替换回实际指令。
所述转发报文的调试结束之后,下一个转发报文就要接着进入第一微引擎,进行匹配,此时下一个转发报文可能匹配出是不需要调试的转发报文,为了保证所述下一个不需要调试的转发报文执行路径结果的正确,所述上层软件接收到报文调试结束消息之后,需要将所述第一微引擎的转发指令上设置断点处的软中断指令替换回实际指令,防止所述第一引擎在执行下一个不需要调试的转发报文时执行到软中断指令。
步骤211、上层软件选择是否需要进行报文调试。
若是,继续步骤202-210。若否,则进行步骤212。
步骤212、上层软件关闭微引擎的调试开关。
在不需要进行报文调试时,上层软件就会关闭微引擎的调试开关,调试处理器中的微引擎就会进行步骤213直接将接收到的转发报文进行转发处理。
步骤213、通过所述第一微引擎转发所述转发报文。
本实施例提供的方法,通过上层软件来控制微引擎的调试开关,在需要进行报文调试时,使网络处理器中的部分微引擎进行报文划分,将需要调试的报文送入调试流程;网络处理器中的其他微引擎不进行报文划分,直接将接收到的转发报文转发出去。这样即不影响网络处理器的转发速度,也可以提高部分微引擎的调试效率,对部分需要调试的转发报文进行调试,平衡网络处理器的转发功能和调试功能。
实施例3
本发明实施例提供了一种调试装置,如图3所示,所述调试装置包括:特征库设置单元301、特征值提取单元302、第一判断单元303、调试单元 304,其中,
特征库设置单元301,配置为设置待调试报文对应的特征值匹配库;特征值提取单元302,配置为提取接收到的转发报文的特征值;第一判断单元303,配置为判断所述特征值提取单元302提取的转发报文的特征值与所述特征库设置单元301设置的特征值匹配库中的条目是否匹配;调试单元304,配置为在所述第一判断单元303判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。
所述特征库设置单元301,配置为将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库中的条目;相应设置所述待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述待调试报文开始字节的字节偏移数,所述长度为所述重要字段的长度;相应的,所述特征值提取单元302,配置为根据所述特征库设置单元301设置的二元参数组提取接收到的转发报文中的字段为所述转发报文的特征值。
其中,所述特征值匹配库中包括至少一个条目;所述特征值匹配库中任两个条目的区别是条目中部分bit位值不同;所述第一判断单元303,配置为在所述转发报文的特征值的各bit位值与所述特征值匹配库中的至少一个条目的各bit位值相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配;在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
如图3所示,所述调试装置还包括:上层软件单元305、报文分配单元306、第二判断单元307、所述调试单元304中包括第一微引擎单元3041以及其他微引擎单元;其中,
所述上层软件单元305,配置为在所述特征库设置单元301设置所述特 征值匹配库之后,开启至少一个微引擎单元的调试开关;所述报文分配单元306,配置为将接收到的转发报文分配给第一微引擎单元3041处理;所述第一微引擎单元3041,配置为接收所述转发报文;所述第二判断单元307,配置为判断所述第一微引擎单元3041的调试开关是否开启;相应的,所述特征值提取单元302,配置为在判断出所述第一微引擎单元3041的调试开关开启时,提取所述转发报文的特征值。
所述第一微引擎单元3041,还配置为在所述第二判断单元307判断出所述第一微引擎单元3041的调试开关未开启时,转发所述转发报文;在所述第一判断单元303判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,转发所述转发报文。所述第一微引擎单元3041,还配置为在所述第一判断单元303判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,向上层软件单元305发送报文调试开始消息;所述上层软件单元305,还配置为在接收到所述调试开始消息后在所述第一微引擎单元3041的转发指令上设置断点,并将设置断点处的实际指令替换为软中断指令,存储所述设置断点处的实际指令以及实际指令地址;然后通知所述第一微引擎单元3041执行所述转发报文的转发指令;所述第一微引擎单元3041,还配置为在接收到所述上层软件单元305的通知后,执行所述转发报文的转发指令,在执行到软中断指令时,停止指令执行,通知上层软件单元执行到软中断指令的指令地址;所述上层软件305,还配置为根据存储的所述设置断点处的实际指令以及实际指令地址,用与所述第一微引擎单元3041通知的指令地址相同的实际指令地址对应的实际指令,替换所述软中断指令;然后通知所述第一微引擎单元3041继续执行所述转发报文的转发指令。
所述第一微引擎单元3041,还配置为在执行到所述转发报文的转发指令的最后一行指令处时,向所述上层软件单元305发送报文调试结束消息。 所述上层软件单元305,还配置为在接收到报文调试结束消息之后,将所述第一微引擎单元3041的转发指令上设置断点处的软中断指令替换回实际指令。
所述上层软件单元3041,还配置为在不需要进行报文调试时,关闭调试单元308中的微引擎单元的调试开关。
在实际应用中,所述特征库设置单元301、特征值提取单元302、第一判断单元303、上层软件单元305、报文分配单元306、第二判断单元307可由位于网络处理器上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等器件实现。所述调试单元304可由位于网络处理器上多个微引擎实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存 储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
工业实用性
本发明实施例公开了一种调试方法和调试装置,在接收到转发报文后,先提取该转发报文的特征值,再将所述转发报文的特征值与预先设置的待调试报文对应的特征值匹配库中的条目进行匹配,根据匹配结果将转发报文划分为需要调试的报文和不需要调试的报文,对需要调试的报文进行调试,对不需要调试的报文直接转发;如此,能够显著提高调试的效率。

Claims (15)

  1. 一种调试方法,设置待调试报文对应的特征值匹配库;所述方法还包括:
    提取接收到的转发报文的特征值;
    在判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。
  2. 根据权利要求1所述的调试方法,其中,所述设置待调试报文对应的特征值匹配库,包括:
    将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库中的条目;
    相应设置所述待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述待调试报文开始字节的字节偏移数,所述长度为所述重要字段的长度;
    相应的,所述提取接收到的转发报文的特征值,包括:
    根据所述二元参数组提取接收到的转发报文中的字段为所述转发报文的特征值。
  3. 根据权利要求2所述的调试方法,其中,所述特征值匹配库中包括至少一个条目;所述特征值匹配库中任两个条目的区别是条目中部分bit位值不同;
    所述判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配,包括:
    在所述转发报文的特征值的各bit位值与所述特征值匹配库中的至少一个条目的各bit位值都相同时,判断出所述转发报文的特征值与所述特征值 匹配库中的条目匹配;
    相应的,在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
  4. 根据权利要求1至3任一项所述的调试方法,其中,在所述设置待调试报文对应的特征值匹配库之后,所述方法还包括:
    通过上层软件开启至少一个微引擎的调试开关;
    相应的,所述提取接收到的转发报文的特征值,包括:
    接收到转发报文后,将所述转发报文分配给微引擎中的第一微引擎处理;
    在判断出的第一微引擎的调试开关开启时,提取所述转发报文的特征值。
  5. 根据权利要求4所述的调试方法,其中,所述方法还包括:
    在判断出所述第一微引擎的调试开关未开启时,通过所述第一微引擎转发所述转发报文;
    所述提取接收到的转发报文的特征值之后,所述方法还包括:
    在判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,转发所述转发报文。
  6. 根据权利要求4所述的调试方法,其中,所述调试所述转发报文,包括:
    所述第一微引擎向上层软件发送报文调试开始消息,所述上层软件接收到所述调试开始消息后在所述第一微引擎的转发指令上设置断点,并将设置断点处的实际指令替换为软中断指令,存储所述设置断点处的实际指令以及实际指令地址;
    所述上层软件通知所述第一微引擎执行所述转发报文的转发指令,所 述第一微引擎在执行到软中断指令时,停止指令执行,通知上层软件执行到软中断指令的指令地址;
    所述上层软件根据存储的所述设置断点处的实际指令以及实际指令地址,用与所述软中断指令的指令地址相同的实际指令地址对应的实际指令,替换所述软中断指令;然后通知所述第一微引擎继续执行所述转发报文的转发指令,直至所述第一微引擎执行到所述转发报文的转发指令的最后一行指令处,向所述上层软件发送报文调试结束消息。
  7. 根据权利要求6所述的调试方法,其中,在所述上层软件接收到报文调试结束消息之后,所述方法还包括:
    所述上层软件将所述第一微引擎的转发指令上设置断点处的软中断指令替换回实际指令。
  8. 一种调试装置,包括:
    特征库设置单元,配置为设置待调试报文对应的特征值匹配库;
    特征值提取单元,配置为提取接收到的转发报文的特征值;
    第一判断单元,配置为判断所述特征值提取单元提取的转发报文的特征值与所述特征库设置单元设置的特征值匹配库中的条目是否匹配;
    调试单元,配置为在所述第一判断单元判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,调试所述转发报文。
  9. 根据权利要求8所述的调试装置,其中,
    所述特征库设置单元,配置为将待调试报文中的最重要字段设置为所述待调试报文对应的特征值匹配库中的条目;相应设置所述待调试报文对应的二元参数组;其中,所述二元参数组包括至少一组偏移量和长度,所述偏移量为所述最重要字段的开始字节基于所述待调试报文开始字节的字节偏移数,所述长度为所述重要字段的长度;
    相应的,所述特征值提取单元,配置为根据所述二元参数组提取接收 到的转发报文中的字段为所述转发报文的特征值。
  10. 根据权利要求9所述的调试装置,其中,所述特征值匹配库中包括至少一个条目;所述特征值匹配库中任两个条目的区别是条目中部分bit位值不同;则,
    所述第一判断单元,配置为在所述转发报文的特征值的各bit位值与所述特征值匹配库中的至少一个条目的各bit位值都相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配;在所述转发报文的特征值的各bit位值与所述特征值匹配库中的任意一个条目的各bit位值不相同时,判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配。
  11. 根据权利要求8至10任一项所述的调试装置,其中,所述调试装置还包括:上层软件单元、报文分配单元、第二判断单元;所述调试单元中包括第一微引擎单元;其中,
    所述上层软件单元,配置为在所述特征库设置单元设置所述特征值匹配库之后,开启所述调试单元中至少一个微引擎单元的调试开关;
    所述报文分配单元,配置为将接收到的转发报文分配给第一微引擎单元处理;
    所述第一微引擎单元,配置为接收所述转发报文;
    所述第二判断单元,配置为判断所述第一微引擎单元的调试开关是否开启;
    相应的,所述特征值提取单元,配置为在判断出所述第一微引擎单元的调试开关开启时,提取所述转发报文的特征值。
  12. 根据权利要求11所述的调试装置,其中,
    所述第一微引擎单元,配置为在所述第二判断单元判断出所述第一微引擎单元的调试开关未开启时,转发所述转发报文;在所述第一判断单元判断出所述转发报文的特征值与所述特征值匹配库中的条目不匹配时,转 发所述转发报文。
  13. 根据权利要求11所述的调试装置,其中,
    所述第一微引擎单元,配置为在所述第一判断单元判断出所述转发报文的特征值与所述特征值匹配库中的条目匹配时,向上层软件单元发送报文调试开始消息;
    所述上层软件单元,配置为在接收到所述调试开始消息后在所述第一微引擎单元的转发指令上设置断点,并将设置断点处的实际指令替换为软中断指令,存储所述设置断点处的实际指令以及实际指令地址;然后通知所述第一微引擎单元执行所述转发报文的转发指令;
    所述第一微引擎单元,配置为在接收到所述上层软件单元的通知后,执行所述转发报文的转发指令,在执行到软中断指令时,停止指令执行,通知上层软件单元执行到软中断指令的指令地址;
    所述上层软件,配置为根据存储的所述设置断点处的实际指令以及实际指令地址,用与所述第一微引擎单元通知的指令地址相同的实际指令地址对应的实际指令,替换所述软中断指令;然后通知所述第一微引擎单元继续执行所述转发报文的转发指令;
    所述第一微引擎单元,配置为在执行到所述转发报文的转发指令的最后一行指令处时,向所述上层软件单元发送报文调试结束消息。
  14. 根据权利要求13所述的调试装置,其中,
    所述上层软件单元,配置为在接收到报文调试结束消息之后,将所述第一微引擎单元的转发指令上设置断点处的软中断指令替换回实际指令。
  15. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行权利要求1至7任一项所述的调试方法。
PCT/CN2015/097951 2015-04-30 2015-12-18 一种调试方法、调试装置及存储介质 WO2016173275A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510218907.XA CN106209403B (zh) 2015-04-30 2015-04-30 一种调试方法以及调试装置
CN201510218907.X 2015-04-30

Publications (1)

Publication Number Publication Date
WO2016173275A1 true WO2016173275A1 (zh) 2016-11-03

Family

ID=57199682

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/097951 WO2016173275A1 (zh) 2015-04-30 2015-12-18 一种调试方法、调试装置及存储介质

Country Status (2)

Country Link
CN (1) CN106209403B (zh)
WO (1) WO2016173275A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760723A (zh) * 2021-01-13 2021-12-07 北京京东乾石科技有限公司 一种业务流程调试方法和装置
CN115118509A (zh) * 2022-06-29 2022-09-27 国网河南省电力公司电力科学研究院 变电站二次设备调试文件权限检测方法及安全管控装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427423A (zh) * 2011-11-07 2012-04-25 北京星网锐捷网络技术有限公司 一种网络流量跟踪及故障定位的方法、装置
US8572245B1 (en) * 2007-02-09 2013-10-29 Juniper Networks, Inc. Using the TCP window size for identifying packets and debugging
CN104506463A (zh) * 2015-01-04 2015-04-08 盛科网络(苏州)有限公司 提供交换机报文芯片在线流程调试信息的方法及装置
CN104539561A (zh) * 2014-12-29 2015-04-22 盛科网络(苏州)有限公司 基于报文处理信息的芯片调试方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572245B1 (en) * 2007-02-09 2013-10-29 Juniper Networks, Inc. Using the TCP window size for identifying packets and debugging
CN102427423A (zh) * 2011-11-07 2012-04-25 北京星网锐捷网络技术有限公司 一种网络流量跟踪及故障定位的方法、装置
CN104539561A (zh) * 2014-12-29 2015-04-22 盛科网络(苏州)有限公司 基于报文处理信息的芯片调试方法及装置
CN104506463A (zh) * 2015-01-04 2015-04-08 盛科网络(苏州)有限公司 提供交换机报文芯片在线流程调试信息的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760723A (zh) * 2021-01-13 2021-12-07 北京京东乾石科技有限公司 一种业务流程调试方法和装置
CN113760723B (zh) * 2021-01-13 2024-04-16 北京京东乾石科技有限公司 一种业务流程调试方法和装置
CN115118509A (zh) * 2022-06-29 2022-09-27 国网河南省电力公司电力科学研究院 变电站二次设备调试文件权限检测方法及安全管控装置

Also Published As

Publication number Publication date
CN106209403A (zh) 2016-12-07
CN106209403B (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
US10331468B2 (en) Techniques for routing service chain flow packets between virtual machines
US10664385B1 (en) Debugging in an actor-based system
US10095576B2 (en) Anomaly recovery method for virtual machine in distributed environment
US8423970B2 (en) Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model
US20170091013A1 (en) Pcie error reporting and throttling
US9098350B2 (en) Adaptive auto-pipelining for stream processing applications
US10956167B2 (en) Mechanism for instruction fusion using tags
US20150186146A1 (en) Parallel program analysis and branch prediction
US20180083770A1 (en) Detecting encoding attack
CN107645502B (zh) 一种报文检测方法及装置
CN108762905B (zh) 一种多任务事件的处理方法和装置
WO2016173275A1 (zh) 一种调试方法、调试装置及存储介质
US11275670B2 (en) Tracing branch instructions
CN110704226B (zh) 数据校验方法、装置及存储介质
US11061840B2 (en) Managing network interface controller-generated interrupts
CN107506293B (zh) 一种软件性能数据采集方法和装置
US10606594B2 (en) Method and apparatus for executing multi-thread using mask value
CN107436752B (zh) 异常现场恢复方法、装置及计算机可读存储介质
WO2017197982A1 (zh) 报文处理方法、装置及系统和计算机存储介质
US10061681B2 (en) System for discovering bugs using interval algebra query language
WO2015165323A1 (zh) 一种数据处理方法、处理器及数据处理设备
CN106649352B (zh) 数据处理方法及装置
US10108530B2 (en) Method and tool for generating a program code configured to perform control flow checking on another program code containing instructions for indirect branching
CN105786597A (zh) uCOS-III操作系统实现任务切换的方法及装置
JP2018538632A (ja) ノードの再起動後にデータを処理する方法及びデバイス

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15890649

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15890649

Country of ref document: EP

Kind code of ref document: A1