CN103761089B - The method that kinematic function call relation is determined based on register transfer language - Google Patents
The method that kinematic function call relation is determined based on register transfer language Download PDFInfo
- Publication number
- CN103761089B CN103761089B CN201410015881.4A CN201410015881A CN103761089B CN 103761089 B CN103761089 B CN 103761089B CN 201410015881 A CN201410015881 A CN 201410015881A CN 103761089 B CN103761089 B CN 103761089B
- Authority
- CN
- China
- Prior art keywords
- function
- address
- file
- name
- call relation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The present invention a kind of method that kinematic function call relation is determined based on register transfer language is disclosed, mainly for static function call relation can not analytic function pointer call with loadable module function calling relationship the problem of and design.Present invention detection function in system operation calls execution event, if detecting after call instruction, parse the corresponding function name in function entrance address of the instruction calls, statistics instruction number of times, output function name, time of origin, affiliated process number, affiliated thread number, affiliated top-of-stack pointer and module No. are called, and be saved in track data file;After if the instruction of detection is return instruction, output time, affiliated process number, affiliated thread number and affiliated top-of-stack pointer to track data file;The data format that processing obtains preassigned is carried out to the track data file, the track data file is transmitted into static function call relation generating means, the kinematic function calling figure of described function call relation is generated.
Description
Technical field
The present invention relates to function calling relationship technical field, and in particular to one kind determines dynamic based on register transfer language
The method of function calling relationship.
Background technology
Function call graph, which can be macroscopical (source, to be realized by function call graph to the reading analysis of source code
Code intermodule call relation) or microcosmic (calling in and recall relation specific to some function).Function call graph
A kind of function call trend of source code static can be showed, function call shape when display systems or program operation is may also be used for
State.For the accurate, convenient of analysis and efficiently, researcher develops the Core Generator of many function call graphs.
Static function calling figure Core Generator refers to set up on the basis of known source code, is needed to open according to different analyses
Some effective objects are only source code such as Source Insight, Understand etc. in the instrument of hair, these instruments, some effects
Object is intermediate result such as Codeviz, Egypt, LLVM and Open64 of compilation process generation etc..
Kinematic function calling figure Core Generator is built upon the function tune that acquisition system or software occur in the process of running
With relation and the instrument of calling figure is depicted as, some instruments are also developed such as to obtain function call situation during operation
Systemtap, gprof, KCachegrind, ftrace, pprof tool etc., they are that to be directed to kernel be pin a bit a bit
To there is software, its based on purpose it is also different, but they be all based on function calling relationship analysis.
Gprof is to allow each function to call mcount functions in compiling, while function call can be preserved in internal memory
Figure, the performance of system can be reduced by so doing, if that to the whole function call tracking of system, internal memory can be caused to use not enough.
Ftrace principle is similar to gprof principle, simply it will not preserve function call graph in internal memory, and mcount makes
With being also dynamic, nop can be replaced when needed according to the requirement of user and instructed for mcount.SystemTap be monitoring and
Track the dynamic approach of the operation of operating linux kernel, SystemTap is using special interior of tools build one
Core, but allow you to install the instrument dynamically at runtime, it passes through entitled Kprobes API
(API) purpose is realized.Pprof tool, which are mainly used in analysis cpu operation bottlenecks, to be needed to produce application software interruption postscript
Record relevant information.Gprof, ftrace and KCachegrind are all based on the pitching pile technology of static state, and its essence of ftrace is also
Static pitching pile technology is that realization is upper different.And the trace tool that will be used herein is built upon on virtual machine
, code will not be inserted to source code, therefore do not interfere with the system execution performance of itself.
KCachegrind can not the system of tracing into call, and gprof, ftrace etc. can the system of tracing into call but nothing
Method traces into system starting process, and these problems will be all resolved in this paper instrument.SimSight is based on Simics's
Dynamic trace tool, it is closest with this paper design concepts, but SimSight can not provide the static function with being dynamically combined
Calling figure.
The content of the invention
In view of the above-mentioned problems, the present invention provide it is a kind of can clearly describe pointer function and loadable module call pass
The method that kinematic function call relation is determined based on register transfer language of system.
To reach above-mentioned purpose, the method that the present invention determines kinematic function call relation based on register transfer language, institute
The method of stating includes:
Detection function calls execution event in system operation,
If detecting after call instruction, the corresponding function name in function entrance address of the instruction calls, statistics instruction are parsed
Number of times, output function name, call time of origin, affiliated process number, affiliated thread number, affiliated top-of-stack pointer and module No., and
It is saved in track data file;
If after the instruction of detection is return instruction, output time, affiliated process number, affiliated thread number and affiliated stack top refer to
Pin is to track data file;
The data format that processing obtains preassigned is carried out to the track data file, by the tracking data text after processing
Part is transmitted into static function call relation generating means, generates the kinematic function calling figure of described function call relation.
Further, the generation method of the track data file includes:
The corresponding function name in function entrance address, function place file and line number are obtained by the parsing to file destination
List;
Operating system nucleus symbol table is parsed, function entrance address and function name is obtained, is searched according to address and function name
File and line number completion function information where the function of acquisition, and recorded in function list array;
Read module symbol table, the functional symbol table of acquisition module, and recorded in modularity function list array;
If given address is found in function list array, module name and function name are returned;
If given address is found in modularity function list array, the module name and function name of return system;
If given address can not find in the function list array and the modularity function list array, letter is judged
Whether number exists in internal memory,
If existing in internal memory, memory address is read from internal memory, being successively read symbolic address after this address sentences
It is disconnected with whether need to inquire about address consistent, and record core position, it is function name index address to read memory information from record position,
Symbolic name length is read according to index address and symbolic address initial address if finding, the skew of looked into address is calculated, obtains
Take function name length, and then return function name;
If being not present in internal memory, read in corresponding function name, slave module and read in the symbol table of load-on module
Memory address, passes through the function name of module's address acquisition module.
Further, function calling relationship and transformation standard form are supplemented to the track data file of record, by data
Static function call relation generating means are reached,
Wherein described supplement function calling relationship includes:Referred to according to the process number for calling and returning, thread number and stack top
Pin come function call and come back for pairing, while obtain function the execution time, while data are converted into reticle
Formula;
The data, which are uploaded to static function call relation generating means, to be included:
The catalogue and filename provided by FROM fields, respectively copies to record the kinematic function of corresponding source code file
In call relation file;
Judge whether the function call is derived from this document according to the TO fields in each kinematic function call relation file,
If not the external call relation file of kinematic function for being then written to correspondence source code file of this document, sentences simultaneously
Whether disconnected this document is derived from the catalogue, if not being written to the external call relation file of kinematic function of correspondence catalogue;
Outer according to last layer of catalogue calls relational file successively to return to upper level catalogue to fill in the outer of upper level catalogue
Call relation file.
Further, the step of methods described also includes showing the function call relationship graph, and the letter to having generated
The step of number call graph and list are cached.
The present invention, combine function call graph instrument dynamic tool can by between the file in the specified time, intermodule
Call relation represented by the form of line, it can be found that the pointer type function call and loadable module of run-time binding
Function call.And because the method for dynamic tracking is given and called and return instruction, can tracking system start portion of time
Function calling relationship, and the instrument can also be combined with other kinematic function trace tools, and the result of other instruments is shown
Show.
Brief description of the drawings
Fig. 1 is that the present invention determines that the method for kinematic function call relation obtains function name and mould based on register transfer language
The flow chart of block name.
Fig. 2 is the data acquisition algorithm for the method that the present invention determines kinematic function call relation based on register transfer language
Flow chart.
Embodiment
With reference to Figure of description, the present invention will be further described.
The method that the present embodiment determines kinematic function call relation based on register transfer language, methods described includes:
Detection function calls execution event in system operation,
If detecting after call instruction, the corresponding function name in function entrance address of the instruction calls, statistics instruction are parsed
Number of times, output function name, call time of origin, affiliated process number, affiliated thread number, affiliated top-of-stack pointer and module No., and
It is saved in track data file;
If after the instruction of detection is return instruction, output time, affiliated process number, affiliated thread number and affiliated stack top refer to
Pin is to track data file;
The data format that processing obtains preassigned is carried out to the track data file, by the tracking data text after processing
Part is transmitted into static function call relation generating means, generates the kinematic function calling figure of described function call relation.
As shown in figure 1, discriminant function is in kernel or in each loadable module successively.The tracking data text
The generation method of part includes:
The corresponding function name in function entrance address, function place file and line number are obtained by the parsing to file destination
List;
Operating system nucleus (system.map) symbol table is parsed, function entrance address and function name are obtained, according to address
File and line number completion function information where searching the function obtained with function name, and recorded in function list array;
Read module symbol table, the functional symbol table of acquisition module, and recorded in modularity function list array;
If given address is found in function list array, module name and function name are returned;
If given address is found in modularity function list array, the module name (kernel) and function of return system
Name, function name is obtained by tabling look-up;
If given address can not find in the function list array and the modularity function list array, letter is judged
Whether number exists in internal memory,
If existing in internal memory, memory address is read from internal memory, being successively read symbolic address after this address sentences
It is disconnected with whether need to inquire about address consistent, and record core position, it is function name index address to read memory information from record position,
Symbolic name length is read according to index address and symbolic address initial address if finding, the skew of looked into address is calculated, obtains
Take function name length, and then return function name;
If being not present in internal memory, read in corresponding function name, slave module and read in the symbol table of load-on module
Memory address, passes through the function name of module's address acquisition module.
The present embodiment, detects that plug-in unit (LinuxCallMonitor) is obtained in function call process using kernel function call
What is produced calls and return instruction, the law path and line number then obtained by the interior nuclear symbol and parsing elf files of acquisition
Information is corresponding with command information, the record after being updated.The realization of LinuxCallMonitor pin functions depends on kernel
(being provided in virtual machine-S2E is used to obtain for symbol table parsing plug-in unit (SymbolResolver) and FunctionMonitor plug-in units
Take the detection of system inner function call instruction), CallSignal can be used to detect letter after block translation event by registering
Number calls execution event, detects and goes out the corresponding function in address to the function entrance address resolution of the instruction calls after call instruction
Name, statistics instruction number of times, output function name, call time of origin, affiliated process number, affiliated thread number, affiliated top-of-stack pointer with
And module No., and it is saved in track data file.When the instruction of detection is return instruction only output time, affiliated process number,
Affiliated thread number and affiliated top-of-stack pointer are to track data file
The module symbolic table and parsing operating system provided when being compiled using SymbolResovler plug-in units with kernel can be held
Part (vmlinux) elf forms of composing a piece of writing obtain file line number where function name and function, obtain and include function entrance address, function
The symbol table of name and line number.It is only function entrance address that virtual machine-S2E, which obtains function call, how correctly to parse address
Corresponding function name is the key issue of dynamic tracking.The mode for obtaining symbol table can be largely classified into two kinds of file destinations
Symbol table when symbol table and system operation in internal memory.Symbol table in file destination can be divided into three classes:The overall situation in this document
The local symbol in whole district's symbol and this document in other files that symbol, this document refer to, for these symbol tables
The nm that GNU binutils can be used to provide is obtained, but can only obtain the symbol table of kernel itself, is loaded when being run to kernel
Module in symbol it is then helpless, and S2E is as the virtual machine operated on main frame, and we can be by from client computer
Symbol table is directly obtained and searched in internal memory.
Version later Linux2.6 introduces kallsyms functions, and kallsyms is all symbols used in kernel
Number address and title are connected into kernel file, so that kernel can be loaded into kallsyms information in internal memory after starting
Facilitate kernel tailoring.Therefore make it that internal memory also has a System.map by the realization of kallsyms mechanism, thus can be with
The symbol table in kernel is extracted using the principle of kallsyms mechanism, and this table contains system and starts post-loaded module
Symbolic information.
To the track data file supplement function calling relationship and transformation standard form of record, data are uploaded to static letter
Number call relation generating means,
Wherein described supplement function calling relationship includes:Referred to according to the process number for calling and returning, thread number and stack top
Pin come function call and come back for pairing, while obtain function the execution time, while data are converted into reticle
Formula;
As shown in Fig. 2 being processed as after normal data, the kinematic function in each file and catalogue is handled successively and calls pass
It is file.The data, which are uploaded to static function call relation generating means, to be included:
The catalogue and filename provided by FROM fields, respectively copies to record the kinematic function of corresponding source code file
In call relation file (.dynfctrlt);
Should according to whether the TO field functions in each kinematic function call relation file (.dynfctrlt) file are derived from
File,
If not the external call relation file of the kinematic function for being then written to corresponding source code file of this document
(.dynoutlst), while judging whether this document is derived from the catalogue, if not the kinematic function for being written to correspondence catalogue is external
Call relation file (.dynDoutlst);
Successively returned according to external call relation file (.dynDoutlst) file of the kinematic function of last layer of catalogue
First class catalogue fills in the .dynDoutlst files of upper level catalogue.
Further, the step of methods described also includes showing the function call relationship graph, and the letter to having generated
The step of number call graph and list are cached, the step is realized by browser.
Methods described carrying out practically process is as follows:
The first step, environmental requirement and the installation of necessary software kit:
1st, hosted environment ubuntu64 12.04 64
2nd, bag to be mounted is needed:
$sudo apt-get install build-essential
$sudo apt-get install subversion
$sudo apt-get install git
$sudo apt-get install gettext
$sudo apt-get install liblua5.1-dev
$sudo apt-get install libsdl1.2-dev
$sudo apt-get install libsigc++-2.0-dev
$sudo apt-get install binutils-dev
$sudo apt-get install python-docutils
$sudo apt-get install python-pygments
$sudo apt-get install nasm
$sudo apt-get build-dep llvm-3.0
$sudo apt-get build-dep qemu
3rd, download s2e installation kit and s2e is installed
$mkdir S2EDIR
$cd$S2EDIR
$git clone https://github.com/dslab-epfl/s2e.git$mkdir build
$cd build
$make–f../s2e/Makefile
Second step, environmental requirement and the installation of necessary software kit:
1st, LinuxCallMonitor plug-in units
A, registration onTranslateBlockStart events
B, acquisition are called and return instruction
C, call sign table obtain function name, module name
D, output call event package containing function name, module name, Time To Event, current process number, current thread number with
And current top-of-stack pointer
Particular content is as follows:
1.1 initialization initialize
Load SymbolResolver, FunctionMonitor:(s2e()->getPlugin(“”));
Open first written document XXX-FuncTracer_00000.dat
Register block translation event (onTranslateBlockStart)
1.2 slotTranslateBlockStart events
Detect that call performs event by CallSignal,
Detect call events and the event is handled by callHandler
1.3 callHandler
Pass through address acquisition respective function name:Symtab_search functions in SymbolResolver are realized;
The number of times of call and ret events is calculated simultaneously, if number of times is more than 20000000, is opened one and new is write text
Part, resets while counting;
The call back function that ret is performed is registered, the return of detection function simultaneously handles return information retHandler;
Outgoing event time of origin, process number, thread number, top-of-stack pointer, module name, function name.
1.4 retHandler
Call and ret number of times is calculated, if number of times is more than 20000000, a new written document is opened, counts simultaneously
Number is reset;
Outgoing event time of origin, process number, thread number, top-of-stack pointer.
2nd, SymbolResolver plug-in units
A, acquisition kernel, module symbolic table
B, parsing vmlinux file elf forms obtain line number where function name and function
C, formation symbol list:Line number where address, function name, function
2.1 initialization initialize
Load system.map, vmlinux;
Read_vm () is called to obtain the list of the corresponding function name in function entrance address, function place file and line number;
System.map is read, the symbol table is parsed, the function institute obtained according to address and function name and read_vm ()
In file and line number, completion function information, and it recorded addrsym_tab [] in function list array;Remembered according to symbolic information
Record symbol table is started over and other address informations, is mainly had:__start__ksymtab、__stop__ksmtab、
Kallsyms_addresses (all symbolic addresses), kallsyms_num_syms (total number of symbols), kallsyms_names,
Kallsyms_markers, kallsyms_token_table, kallsyms_token_index, modules, they are corresponding
Address information.
Read module symbol table, the functional symbol table of acquisition module, and recorded addrmod_tab [] in array.
2.2symtab_search
File and line number according to where address return function name, function.
If given address is found in addrsym_tab [], kernel (module name) and function name are returned;
If given address is found in addrmod_tab [], module name (system) and function name are returned;
Otherwise:
Kallsyms_num_syms (total number of symbols) is read from internal memory;From internal memory kallsyms_addresses it
Symbolic address judgement is once read afterwards whether consistent with that need to inquire about address, and record core position;Internal memory is read from record position
Information is function name index address, and symbolic name length is read according to index address and symbolic address initial address if finding,
The skew of looked into address is calculated, function name length, and then return function name is obtained;Otherwise read in the symbol table of load-on module
Take corresponding function name
2.3search_func_line、read_vm、describe_elf_hdr、dir_file_table、describe_
one_section、describe_elf_sections、dwarf_tag_name、dwarf_attr_name、is_compile_
unit、output_compilation_unit_header、read_1_byte、read_signed_leb128、describe_
One_compile_unit etc. be parse vmlinux files elf forms obtain function entrance address and respective function name and
The function of file line number where function and dependence function, are not describing its principle and process here.
3rd step, compiling s2e, operation s2e:
1st, Makefile.target is changed
2nd, s2e/qemu/Makefile.target files are changed:
Two rows are added after s2eobj-y+=s2e/Plugins/ConsistencyModels.o:
S2eobj-y+=s2e/Plugins/LinuxCallMonitor.o
S2eobj-y+=s2e/Plugins/SymboleResolver.o
3rd, s2e is compiled
4th, the kernel of correspondence version is compiled, this project is linux-3.5.4, and cpu is 32:That is make i386_
defconfig。
Line number is defined in order to obtain function, thus needs to choose debug information when compiling kernel:In menuconfig
Kernel hacking options, choose kernel debugging and Compile kernel with debug info.
Arch/x86/boot/bzIamge, vmliux, System.map after the completion of compiling, need to use in s2e operations
's.
5th, config.lua is configured
6th, system s2e runtime disks are created
A, complication system:
A, establishment blank panel
qemu-img create–f raw name.raw*G;Name mirror images name, the size of the * G disks is how many G
B, installation system, are used without s2e qemu
qemu-system-i386name.raw–cdrom***.iso;* * .iso system installation files, from cdrom peaces
Dress.
C, disk type conversion;S2e can only receive the disk of qcow2 types
qemu-img convert–c name.raw–o qcow2new-name.qcow2
Can d, test system normally start;Without s2e
qemu-system-i386–kernel bzImage–hdc name.raw-append“/root/sda1”;
The kernel mirror image compiled before bzImage
B, single system busybox (www.cnblogs.com/senix/archive/2013/02/21/
2921221.html)
A, download busybox source codes:
That I downloads is busybox-1.21.0,
Decompression:tar–xf busybox-1.21.0.tar.bz2
B, compiling busybox
make deconfig
make menuconfig:Change Busybox Settings Build Option [*] Build Busybox as
a static binary(no shared libs)
make
make install
C, linux simulated by qemu
(1), write initrd and start script
(2) structure initrd mirror image scripts, are write
(3) startup script, is write, busybox is tested
7th, operation s2e records perform trace
Write automatic running script run.sh
A, complication system
“#!/bin/sh
i386-s2e-softmmu/qemu-system-i386-kernel arch/x86/boot/bzImage-hdc
New-name.qcow2-append " root=/dev/sda1 "-s2e-config-file config.lua-s2e-verbose
”
B, single system
“#!/bin/sh
LINUX=$ (find linux*-maxdepth 0)
i386-s2e-softmmu/qemu-system-i386–kernel$LINUX/arch/i386/boot/
BzImage-initrd rootfs.img-append " root=/dev/ram rdinit=sbin/init "-s2e-
Config-file config.lua-rtc clock=vm
“
8th, trace results
Current result fixes name, is placed on/mnt/freenas/dyn-trace-log/b-FuncTracer_*.dat, should
As a result no row only display call functions or return, each file record 20000000 is instructed.Form:
calltime,pid,module,pc/call name
9th, result treatment
Think only one of which stack, stack top is function call person.
A, polishing function calling relationship:process.py.Intermediate result form is:
Calltime, pid, module, tid, exp, pc/call name, from, pc/call name algorithms:
Stack top progressively scans to be empty to result, and if call rows then the corresponding function pop downs of the call, who calls this
Function passes through the previous content obtaining of current stack top;If ret then thread, process number and the identical stack content of top-of-stack pointer
Pop;Until terminating.
B, transformation standard form:s2eout-standardout.rb.Form is:
PID:pid TID:tid CALL_TIME:time RETURN_TIME:NULL FROM:call name,/
file.c:line TO:call name1,/file1.c:line1AT:NULL time:function run time
Note:Where calls the function currently without.
C, the kinematic function for by FROM fields data being stored in respectively corresponding source code file in respective directories call pass
In being file (.dynfctrlt files):systemtapdata.rb
Data format is constant, and the catalogue and filename provided first by FROM fields, the result that b is recorded is copied to respectively
In the .dynfctrlt files of corresponding source code file.Secondly according to the TO field functions in each .dynfctrlt files whether
From this document, if not the .dynoutlst files for being then written to corresponding source code file of this document, while judging to be somebody's turn to do
Whether file is derived from the catalogue, the no .dynDoutlst files for being written to correspondence catalogue.Finally according to last layer of catalogue
.dynDoutlst file successively returns to the .dynDoutlst files that upper level catalogue fills in upper level catalogue.
More than, only presently preferred embodiments of the present invention, but protection scope of the present invention is not limited thereto, and it is any to be familiar with sheet
Those skilled in the art the invention discloses technical scope in, the change or replacement that can be readily occurred in should all be covered
Within protection scope of the present invention.Therefore, the protection domain that protection scope of the present invention should be defined by claim is defined.
Claims (4)
1. a kind of method that kinematic function call relation is determined based on register transfer language, it is characterised in that:
Methods described includes:
Detection function calls execution event in system operation,
If detecting after call instruction, the corresponding function name in function entrance address of the instruction calls is parsed, statistics instructs number of times,
Output function name, time of origin, affiliated process number, affiliated thread number, affiliated top-of-stack pointer and module No. are called, and be saved in
Track data file;
If after the instruction of detection is return instruction, output time, affiliated process number, affiliated thread number and affiliated top-of-stack pointer are arrived
Track data file;
The data format that processing obtains preassigned is carried out to the track data file, the track data file after processing is passed
Transport in static function call relation generating means, generate the kinematic function calling figure of described function call relation.
2. the method according to claim 1 that kinematic function call relation is determined based on register transfer language, its feature
It is:The generation method of the track data file includes:
File and the row of line number where obtaining the corresponding function name in function entrance address, function by the parsing to file destination
Table;
Operating system nucleus symbol table is parsed, function entrance address and function name is obtained, is searched and obtained according to address and function name
Function where file and line number completion function information, and recorded in function list array;
Read module symbol table, the functional symbol table of acquisition module, and recorded in modularity function list array;
If given address is found in function list array, module name and function name are returned;
If given address is found in modularity function list array, the module name and function name of return system;
If given address can not find in the function list array and the modularity function list array, discriminant function is
It is no to exist in internal memory,
If existing in internal memory, memory address is read from internal memory, be successively read after this address symbolic address judge with
Address need to be inquired about whether consistent, and record core position, it is function name index address to read memory information from record position, if looking into
To then symbolic name length is read according to index address and symbolic address initial address, the skew of looked into address is calculated, letter is obtained
Several length, and then return function name;
If being not present in internal memory, read in the symbol table of load-on module in corresponding function name, slave module and read internal memory
Address, passes through the function name of module's address acquisition module.
3. the method according to claim 1 that kinematic function call relation is determined based on register transfer language, its feature
It is:To the track data file supplement function calling relationship and transformation standard form of record, data are uploaded to static function
Call relation generating means,
Wherein described supplement function calling relationship includes:According to the process number for calling and returning, thread number and top-of-stack pointer come
Function is called and come back for pairing, while the execution time of function is obtained, while data are converted into reference format;
The data, which are uploaded to static function call relation generating means, to be included:
The catalogue and filename provided by FROM fields, the kinematic function that record is copied to corresponding source code file respectively is called
In relational file;
Judge whether the function call is derived from this document according to the TO fields in each kinematic function call relation file,
If not the external call relation file of kinematic function for being then written to correspondence source code file of this document, while judging to be somebody's turn to do
Whether file is derived from the catalogue, if not being written to the external call relation file of kinematic function of correspondence catalogue;
Upper level catalogue is successively returned to according to the external call relation file of the kinematic function of last layer of catalogue and fills in upper level mesh
The external call relation file of kinematic function of record.
4. the method according to claim 1 that kinematic function call relation is determined based on register transfer language, its feature
It is:The step of methods described also includes showing the function call relationship graph, and the function call relationship graph to having generated
The step of being cached with list.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410015881.4A CN103761089B (en) | 2014-01-14 | 2014-01-14 | The method that kinematic function call relation is determined based on register transfer language |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410015881.4A CN103761089B (en) | 2014-01-14 | 2014-01-14 | The method that kinematic function call relation is determined based on register transfer language |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761089A CN103761089A (en) | 2014-04-30 |
CN103761089B true CN103761089B (en) | 2017-09-15 |
Family
ID=50528333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410015881.4A Expired - Fee Related CN103761089B (en) | 2014-01-14 | 2014-01-14 | The method that kinematic function call relation is determined based on register transfer language |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761089B (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106959859B (en) * | 2017-03-30 | 2021-08-24 | 北京奇虎科技有限公司 | Calling method and device of system calling function |
CN108874470B (en) * | 2017-05-11 | 2023-04-07 | 腾讯科技(深圳)有限公司 | Information processing method, server and computer storage medium |
CN107291480B (en) * | 2017-08-15 | 2020-12-15 | 中国农业银行股份有限公司 | Function calling method and device |
CN109426702B (en) * | 2017-08-31 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | iOS platform file reading protection method, storage medium, electronic device and system |
CN108628744B (en) * | 2018-04-28 | 2022-03-15 | 深圳市风云实业有限公司 | Fault diagnosis method and device and electronic equipment |
CN110737465B (en) * | 2018-07-20 | 2023-09-22 | 深圳市大梦龙途网络科技有限公司 | Method and related device for acquiring function call path |
CN111258630B (en) * | 2018-12-03 | 2023-05-30 | 斑马智行网络(香港)有限公司 | Function call relation detection method, device, equipment and storage medium |
CN109614332B (en) * | 2018-12-07 | 2021-11-02 | 中国航空工业集团公司洛阳电光设备研究所 | Hardware virtualization layered modeling method |
CN110659088B (en) * | 2019-09-20 | 2022-11-25 | 浙江杰芯科技有限公司 | Method and system for expanding program under embedded environment |
CN111104104A (en) * | 2019-11-04 | 2020-05-05 | 珠海亿智电子科技有限公司 | Method and device for visualizing function call time and statistical result and readable medium |
CN112181374B (en) * | 2020-09-25 | 2024-03-12 | 广州力挚网络科技有限公司 | Data integration method and device, electronic equipment and storage medium |
CN112363779A (en) * | 2020-11-25 | 2021-02-12 | 王志平 | Safety control method for dynamic link program |
WO2022155937A1 (en) * | 2021-01-23 | 2022-07-28 | 王志平 | Security control method for dynamic link program |
CN113505007A (en) * | 2021-07-12 | 2021-10-15 | 北京鲸鲮信息系统技术有限公司 | Protocol stack data transmission method based on Linux system, computer equipment and storage medium |
CN113946347B (en) * | 2021-09-29 | 2022-07-08 | 北京五八信息技术有限公司 | Function call detection method and device, electronic equipment and readable medium |
CN116909627B (en) * | 2023-09-13 | 2023-12-12 | 杭州笨马网络技术有限公司 | Executable program analysis method and device, electronic equipment and storage medium |
CN117149499B (en) * | 2023-10-30 | 2024-01-19 | 北京麟卓信息科技有限公司 | Memory occupation optimization method for kernel module based on dynamic symbol table |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282701B1 (en) * | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
CN103365774A (en) * | 2013-08-22 | 2013-10-23 | 北京航空航天大学 | Transient error detection method based on function call relationship |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990792B2 (en) * | 2008-05-26 | 2015-03-24 | Samsung Electronics Co., Ltd. | Method for constructing dynamic call graph of application |
-
2014
- 2014-01-14 CN CN201410015881.4A patent/CN103761089B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282701B1 (en) * | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
CN103365774A (en) * | 2013-08-22 | 2013-10-23 | 北京航空航天大学 | Transient error detection method based on function call relationship |
Non-Patent Citations (2)
Title |
---|
S2E: A Platform for In-Vivo Multi-Path Analysis of Software Systems;Vitaly Chipounov等;《ACM SINGARCH Computer Architecture News》;1-4;20111231;第39卷(第1期);第265-278页 * |
SimSight:a virtual machine based dynamic call graph generator;XuelingChen;《University of Nebraska-Lincoln硕士学位论文》;20101231;摘要,第8、18-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103761089A (en) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761089B (en) | The method that kinematic function call relation is determined based on register transfer language | |
Deitel | Java how to program | |
Friesen | Javafor Android | |
Friesen | Beginning Java 7 | |
Zakhour et al. | The Java tutorial: a short course on the basics | |
Simmonds | Mastering Embedded Linux Programming | |
Lacamera | Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems | |
Simmonds | Mastering embedded Linux programming | |
Yuan | Windows graphics programming: Win32 GDI and DirectDraw | |
Gallardo et al. | The Java Tutorial: A Short Course on the Basics | |
Deitel et al. | Java SE 8 for programmers | |
Ganeshan | Spring MVC: Beginner's Guide | |
Vaduva | Learning Embedded Linux Using the Yocto Project | |
Muller et al. | Semantic patches considered helpful | |
Jana | Java and object-oriented programming paradigm | |
Vaduva et al. | Linux: Embedded Development | |
Ye | Embedded programming with Android: bringing up an Android system from scratch | |
Reznikov | Creating tailored OS images for embedded systems using Buildroot | |
Hewardt et al. | Advanced windows debugging | |
JP2002014847A (en) | Device for checking program and method for the same and recording medium with checking program stored | |
Wilcox | Porting to the Symbian platform: Open mobile development in C/C++ | |
Sun et al. | Building coreboot with Intel FSP | |
Dakin | CONCEPT-The COsmological $ N $-body CodE in PyThon | |
Uzlu et al. | Utilizing Rust Programming Language for EFI-Based Bootloader Design. | |
Giometti | Linux Device Driver Development Cookbook: Develop Custom Drivers for Your Embedded Linux Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170915 Termination date: 20190114 |
|
CF01 | Termination of patent right due to non-payment of annual fee |