windbg : x 命令

发布时间:2024年01月24日

在这里插入图片描述

一、x( 符号检查 )

x命令显示与指定图案匹配的所有上下文中的符号。

x [Options] Module!Symbol 
x [Options] *

参数

选项
指定符号搜索选项。你可以使用下列一个或者多个选项:

选项描述
/0仅显示每个符号的地址
/1 仅显示每个符号的名称
/2仅显示每个符号的地址和名称(而不是数据类型)
/D使用 Debugger Markup Language 显示输出
/t如果数据类型已知,显示每个模型的数据类型
/v显示每个符号的符号类型(局部、全局、参数、函数或未知)。此选项还显示每个符号的大小。函数符号的大小就是内存中函数的大小。其他符号的大小是该符号所表示的数据类型的大小。大小始终以字节为单位,并以十六进制格式显示。
/s Size 仅显示那些大小(以字节为单位)等于“大小”值的符号。函数符号的大小是内存中函数的大小。其他符号的大小是该符号所表示的数据类型的大小。始终显示无法确定大小的符号。大小必须是非零整数。
/q以带引号的格式显示符号名称。
/p当调试器显示函数名及其参数时,省略左括号前的空格。如果要将函数名和参数从x显示复制到另一个位置,这种显示可以使操作更容易。
/f显示函数的数据大小
/d显示数据的数据大小
/a按地址升序对显示内容进行排序
/A按地址降序对显示内容进行排序
/n按名称升序对显示进行排序
/N按名称降序对显示进行排序
/z大小升序对显示进行排序
/Z按大小降序对显示进行排序

模块
指定要搜索的模块。此模块可以是.exe、.dll或.sys文件。模块可以包含各种通配符和说明符。有关语法的更多信息,请参阅字符串通配符语法 String Wildcard Syntax.

符号
指定符号必须包含的图案。符号可以包含各种通配符和说明符。有关语法的更多信息,请参阅字符串通配符语法。
因为此模式与符号匹配,所以匹配不区分大小写,单个前导下划线(_)表示任意数量的前导下划线。您可以在Symbol中添加空格,这样就可以指定包含空格的符号名称(如“operator new”或“Template<A,B>”),而无需使用通配符。

二、Environment


Modes User mode, kernel mode


Targets Live, crash dump


Platforms All


三、使用示例

3.1 源码

#include <iostream>

using namespace std;

struct JKGirl{
    std::string name;
    int age;
    
    friend ostream& operator <<(ostream& o,const JKGirl& that)
    {
        return o << that.name << " is " << that.age << " years old.";
    }
};


int factorical(unsigned int n){
    
    static int result = 1;
    
    if(n <= 0 ) return result; // 递归结束条件
    
    result *= n;    // 算子
    
    return factorical(--n) ; // 递归
}

int main()
{
    
    int num = 20;
    double f = 30.25;
    
    int result =  factorical(3);
    
    cout << result << endl;
    
    
    JKGirl girl = {"Anna",18};
    cout << girl << endl;
    
    
    return 0;
}

编译这段代码,我们得到示例程序。譬如博主的程序名WD01.exe

3.2 x WD01!*

在windbg的命令行中输入指令

 x WD01!*

这里使用的通配符,我们将搜索得到 程序中所有的符号表。
如下:

*** WARNING: Unable to verify checksum for WD01.exe
00007ff7`24782030 WD01!__guard_xfg_dispatch_icall_fptr = 0x00007ff7`24771091
00007ff7`2477e024 WD01!_fltused = 0n39029
00007ff7`2477eaa8 WD01!__scrt_current_native_startup_state = uninitialized (0n0)
00007ff7`2477e010 WD01!__security_cookie_complement = 0xffffd466`d2205dcd
00007ff7`24777f90 WD01!_guard_dispatch_icall_nop = 0xff ''
00007ff7`2477b770 WD01!__xp_a = <function> *[1]
00007ff7`2477cce8 WD01!__rtc_taa = <function> *[1]
00007ff7`24782020 WD01!__guard_dispatch_icall_fptr = 0x00007ff7`247710d2
00007ff7`2477cac8 WD01!__rtc_iaa = <function> *[1]
00007ff7`2477ead8 WD01!module_local_at_quick_exit_table = struct _onexit_table_t
00007ff7`2477b000 WD01!__xc_a = <function> *[1]
00007ff7`2477b000 WD01!__xc_a = <function> *[]
00007ff7`2477e050 WD01!__scrt_ucrt_dll_is_in_use = 0n1
00007ff7`2477e050 WD01!__scrt_ucrt_dll_is_in_use = 0n1
00007ff7`2477b440 WD01!pre_c_initializer = 0x00007ff7`247743e0
00007ff7`2477e038 WD01!__memcpy_nt_iters = 0n8239
00007ff7`2477b110 WD01!pre_cpp_initializer = 0x00007ff7`247744e0
00007ff7`2477eb60 WD01!__dyn_tls_init_callback = 0x00000000`00000000
00007ff7`24782040 WD01!__guard_xfg_table_dispatch_icall_fptr = 0x00007ff7`24771091
00007ff7`2477b660 WD01!__xi_z = <function> *[1]
00007ff7`2477b660 WD01!__xi_z = <function> *[]
00007ff7`2477c0b8 WD01!type_info::`vftable' = <function> *[2]
00007ff7`24777fb0 WD01!_guard_xfg_dispatch_icall_nop = 0xff ''
00007ff7`2477eac0 WD01!module_local_atexit_table = struct _onexit_table_t
00007ff7`2477e4c0 WD01!GS_ContextRecord = struct _CONTEXT
00007ff7`2477b990 WD01!__xt_a = <function> *[1]
00007ff7`2477eb34 WD01!__scrt_debugger_hook_flag = 0n0
00007ff7`2477eab8 WD01!is_initialized_as_dll = false
00007ff7`24782010 WD01!__guard_xfg_check_icall_fptr = 0x00007ff7`24771019
00007ff7`24782010 WD01!__guard_xfg_check_icall_fptr = 0x00007ff7`24771019
00007ff7`2477be50 WD01!std::bad_alloc::`vftable' = <function> *[3]
00007ff7`2477e034 WD01!__isa_enabled = 0n2
00007ff7`2477eab0 WD01!__scrt_native_startup_lock = 0x00000000`00000000
00007ff7`2477b550 WD01!post_pgo_initializer = 0x00007ff7`247744c0
00007ff7`2477c510 WD01!__CastGuardVftablesEnd = 0x00000000`00000000
00007ff7`2477eab9 WD01!module_local_atexit_table_initialized = false
00007ff7`24782000 WD01!__guard_check_icall_fptr = 0x00007ff7`24771019
00007ff7`24782000 WD01!__guard_check_icall_fptr = 0x00007ff7`24771019
00007ff7`2477d308 WD01!$xdatasym = 0x01 ''
00007ff7`2477d5c0 WD01!$xdatasym = 0x01 ''
00007ff7`2477d5c8 WD01!$xdatasym = 0x01 ''
00007ff7`2477b330 WD01!__xi_a = <function> *[1]
00007ff7`2477b330 WD01!__xi_a = <function> *[]
00007ff7`2477c0e0 WD01!GS_ExceptionPointers = struct _EXCEPTION_POINTERS
00007ff7`2477cbd8 WD01!__rtc_izz = <function> *[1]
00007ff7`2477b220 WD01!__xc_z = <function> *[1]
00007ff7`2477b220 WD01!__xc_z = <function> *[]
00007ff7`2477e02c WD01!__scrt_default_matherr = 0n1
00007ff7`2477e02c WD01!__scrt_default_matherr = 0n1
00007ff7`2477c400 WD01!__CastGuardVftablesStart = 0x00000000`00000000
00007ff7`2477b880 WD01!__xp_z = <function> *[1]
00007ff7`2477cdf8 WD01!__rtc_tzz = <function> *[1]
00007ff7`2477e420 WD01!GS_ExceptionRecord = struct _EXCEPTION_RECORD
00007ff7`2477c130 WD01!_load_config_used = struct _RS5_IMAGE_LOAD_CONFIG_DIRECTORY64
00007ff7`2477e028 WD01!__scrt_native_dllmain_reason = 0xffffffff
00007ff7`2477be70 WD01!std::bad_array_new_length::`vftable' = <function> *[3]
00007ff7`2477eb38 WD01!__castguard_check_failure_os_handled_fptr = 0x00000000`00000000
00007ff7`2477eb38 WD01!__castguard_check_failure_os_handled_fptr = 0x00000000`00000000
00007ff7`2477e018 WD01!__security_cookie = 0x00008c3e`c4b185c4
00007ff7`2477e040 WD01!__memset_nt_iters = 0n63488
00007ff7`2477e030 WD01!__isa_available = 0n1
00007ff7`2477eb44 WD01!__favor = 0n0
00007ff7`2477baa0 WD01!__xt_z = <function> *[1]
00007ff7`2477eb00 WD01!__type_info_root_node = struct __type_info_node
00007ff7`2477eb48 WD01!__dyn_tls_dtor_callback = 0x00000000`00000000
00007ff7`2477be18 WD01!std::exception::`vftable' = <function> *[3]
00007ff7`24772210 WD01!std::_Delete_plain_internal<std::allocator<std::_Container_proxy> > (class std::allocator<std::_Container_proxy> *, struct std::_Container_proxy *)
00007ff7`24774ac0 WD01!__raise_securityfailure (struct _EXCEPTION_POINTERS *)
00007ff7`24774000 WD01!std::_Default_allocator_traits<std::allocator<char> >::max_size (class std::allocator<char> *)
00007ff7`247759e0 WD01!_get_startup_commit_mode (void)
00007ff7`247747e0 WD01!__scrt_file_policy::set_commode (void)
00007ff7`24773350 WD01!operator new (unsigned int64, void *)
00007ff7`247741c0 WD01!operator new (unsigned int64)
00007ff7`247728e0 WD01!std::addressof<char *> (char **)
00007ff7`24775b50 WD01!__scrt_get_dyn_tls_dtor_callback (void)
00007ff7`247763b0 WD01!__castguard_slow_path_compat_check (void *, unsigned int64, unsigned int64)
00007ff7`24777f90 WD01!_guard_dispatch_icall_nop (void)
00007ff7`24773fd0 WD01!std::_Narrow_char_traits<char,int>::length (char *)
00007ff7`247748a0 WD01!__scrt_throw_std_bad_alloc (void)
00007ff7`24775010 WD01!find_pe_section (unsigned char *, unsigned int64)
00007ff7`24772240 WD01!std::_Destroy_in_place<char *> (char **)
00007ff7`247748d0 WD01!__scrt_throw_std_bad_array_new_length (void)
00007ff7`24775a40 WD01!__scrt_uninitialize_type_info (void)
00007ff7`24779010 WD01!`std::operator<<<std::char_traits<char> >'::`1'::catch$1 (void)
00007ff7`24775fe0 WD01!_RTC_Initialize (void)
00007ff7`24772270 WD01!std::_Get_size_of_n<16> (unsigned int64)
00007ff7`24772980 WD01!std::forward<char * const &> (char **)
00007ff7`247762b0 WD01!__castguard_slow_path_check_fastfail (void *, unsigned int64, unsigned int64)
00007ff7`24775a10 WD01!_get_startup_thread_locale_mode (void)
00007ff7`247760e0 WD01!ReadPointerNoFence (void **)
00007ff7`24776920 WD01!__scrt_is_ucrt_dll_in_use (void)
00007ff7`247718a0 WD01!main (void)
00007ff7`24779090 WD01!`std::_Insert_string<char,std::char_traits<char>,unsigned __int64>'::`1'::catch$1 (void)
00007ff7`247761d0 WD01!__castguard_compat_check (void *)
00007ff7`24772ca0 WD01!std::_Container_proxy::_Container_proxy (struct std::_Container_base12 *)
00007ff7`24773510 WD01!std::exception::`scalar deleting destructor' (void)
00007ff7`24779130 WD01!`std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0 (void)
00007ff7`247760b0 WD01!ReadNoFence64 (int64 *)
00007ff7`24778fe0 WD01!`std::operator<<<std::char_traits<char> >'::`1'::dtor$0 (void)
00007ff7`24772e10 WD01!std::bad_array_new_length::bad_array_new_length (class std::bad_array_new_length *)
00007ff7`24772e60 WD01!std::bad_array_new_length::bad_array_new_length (void)
00007ff7`24774e70 WD01!capture_current_context (struct _CONTEXT *)
00007ff7`247728d0 WD01!std::_Voidify_iter<std::_Container_proxy *> (struct std::_Container_proxy *)
00007ff7`24773ed0 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::data (void)
00007ff7`24772c40 WD01!std::_Basic_container_proxy_ptr12::_Basic_container_proxy_ptr12 (void)
00007ff7`24774370 WD01!type_info::~type_info (void)
00007ff7`247747c0 WD01!__scrt_main_policy::set_app_type (void)
00007ff7`24773900 WD01!std::_String_val<std::_Simple_types<char> >::_Large_string_engaged (void)
00007ff7`24773ce0 WD01!std::allocator<char>::allocate (unsigned int64)
00007ff7`24773880 WD01!std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first (void)
00007ff7`24773890 WD01!std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first (void)
00007ff7`247729a0 WD01!std::max<unsigned __int64> (unsigned int64 *, unsigned int64 *)
00007ff7`247756a0 WD01!__scrt_uninitialize_crt (bool, bool)
00007ff7`24775df0 WD01!__scrt_initialize_mta (void)
00007ff7`24774980 WD01!__GSHandlerCheckCommon (void *, struct _DISPATCHER_CONTEXT *, struct _GS_HANDLER_DATA *)
00007ff7`247755b0 WD01!__scrt_is_nonwritable_in_current_image (void *)
00007ff7`24777fb0 WD01!_guard_xfg_dispatch_icall_nop (void)
00007ff7`24775400 WD01!__scrt_initialize_crt (__scrt_module_type)
00007ff7`24771a60 WD01!std::operator<<<std::char_traits<char> > (class std::basic_ostream<char,std::char_traits<char> > *, char *)
00007ff7`24775ef0 WD01!__scrt_set_unhandled_exception_filter (void)
00007ff7`24773a00 WD01!std::_Container_base12::_Orphan_all (void)
00007ff7`24772c60 WD01!std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty (void)
00007ff7`24776100 WD01!__castguard_check_failure_debugbreak (void *)
00007ff7`24776260 WD01!__castguard_slow_path_check_debugbreak (void *, unsigned int64, unsigned int64)
00007ff7`24771a00 WD01!std::operator<<<char,std::char_traits<char>,std::allocator<char> > (class std::basic_ostream<char,std::char_traits<char> > *, class std::basic_string<char,std::char_traits<char>,std::allocator<char> > *)
00007ff7`24776ad0 WD01!__scrt_stub_for_acrt_thread_detach (void)
00007ff7`24776170 WD01!__castguard_check_failure_os_handled (void *)
00007ff7`24775a80 WD01!_initialize_denormal_control (void)
00007ff7`24772a00 WD01!std::min<unsigned __int64> (unsigned int64 *, unsigned int64 *)
00007ff7`247753a0 WD01!__scrt_dllmain_uninitialize_c (void)
00007ff7`247757f0 WD01!atexit (<function> *)
00007ff7`24775830 WD01!__get_entropy (void)
00007ff7`24776330 WD01!__castguard_slow_path_check_os_handled (void *, unsigned int64, unsigned int64)
00007ff7`247720a0 WD01!std::_Construct_in_place<char *,char * const &> (char **, char **)
00007ff7`247734c0 WD01!std::bad_array_new_length::`scalar deleting destructor' (void)
00007ff7`24774770 WD01!invoke_main (void)
00007ff7`24776ab0 WD01!__scrt_stub_for_acrt_initialize (void)
00007ff7`24773af0 WD01!std::_Basic_container_proxy_ptr12::_Release (void)
00007ff7`24773080 WD01!std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::~_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1> (void)
00007ff7`247728f0 WD01!std::addressof<std::_Container_base12> (struct std::_Container_base12 *)
00007ff7`24772180 WD01!std::_Deallocate<16,0> (void *, unsigned int64)
00007ff7`24776ac0 WD01!__scrt_stub_for_acrt_thread_attach (void)
00007ff7`24774900 WD01!operator delete (void *)
00007ff7`24774230 WD01!operator delete (void *, unsigned int64)
00007ff7`24776040 WD01!_RTC_Terminate (void)
00007ff7`247740a0 WD01!std::_Char_traits<char,int>::move (char *, char *, unsigned int64)
00007ff7`247722c0 WD01!std::_Insert_string<char,std::char_traits<char>,unsigned __int64> (class std::basic_ostream<char,std::char_traits<char> > *, char *, unsigned int64)
00007ff7`24776310 WD01!__castguard_slow_path_check_nop (void *, unsigned int64, unsigned int64)
00007ff7`24773b40 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate (void)
00007ff7`24774930 WD01!__GSHandlerCheck (struct _EXCEPTION_RECORD *, void *, struct _CONTEXT *, struct _DISPATCHER_CONTEXT *)
00007ff7`24776160 WD01!__castguard_check_failure_nop (void *)
00007ff7`247721d0 WD01!std::_Deallocate_plain<std::allocator<std::_Container_proxy> > (class std::allocator<std::_Container_proxy> *, struct std::_Container_proxy *)
00007ff7`247759f0 WD01!_get_startup_file_mode (void)
00007ff7`24773280 WD01!std::bad_array_new_length::~bad_array_new_length (void)
00007ff7`24772910 WD01!std::endl<char,std::char_traits<char> > (class std::basic_ostream<char,std::char_traits<char> > *)
00007ff7`24775f10 WD01!__scrt_stub_for_initialize_mta (void)
00007ff7`24774830 WD01!mainCRTStartup (void *)
00007ff7`24776490 WD01!_guard_rf_checks_enforced (void)
00007ff7`247738a0 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Getal (void)
00007ff7`247738d0 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Getal (void)
00007ff7`24773c30 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init (void)
00007ff7`24775290 WD01!__scrt_dllmain_before_initialize_c (void)
00007ff7`247751c0 WD01!NtCurrentTeb (void)
00007ff7`24773a20 WD01!std::_Container_base12::_Orphan_all_locked_v3 (void)
00007ff7`24774d10 WD01!__report_securityfailureEx (unsigned long, unsigned long, void **)
00007ff7`24778fc0 WD01!main$dtor$1 (void)
00007ff7`24775ab0 WD01!__scrt_initialize_default_local_stdio_options (void)
00007ff7`247728c0 WD01!std::_Voidify_iter<char * *> (char **)
00007ff7`24775790 WD01!at_quick_exit (<function> *)
00007ff7`24775460 WD01!__scrt_initialize_onexit_tables (__scrt_module_type)
00007ff7`24779190 WD01!__scrt_is_nonwritable_in_current_image$filt$0 (void)
00007ff7`24775b60 WD01!__crt_debugger_hook (int)
00007ff7`24775a60 WD01!_should_initialize_environment (void)
00007ff7`247743e0 WD01!pre_c_initialization (void)
00007ff7`24779110 WD01!`std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$1 (void)
00007ff7`24775300 WD01!__scrt_dllmain_crt_thread_detach (void)
00007ff7`247759c0 WD01!_matherr (struct _exception *)
00007ff7`247751d0 WD01!__scrt_acquire_startup_lock (void)
00007ff7`24776130 WD01!__castguard_check_failure_fastfail (void *)
00007ff7`24775a00 WD01!_get_startup_new_mode (void)
00007ff7`24772b80 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > (char *)
00007ff7`24775e20 WD01!__scrt_is_managed_app (void)
00007ff7`24775f20 WD01!__scrt_unhandled_exception_filter (struct _EXCEPTION_POINTERS *)
00007ff7`24771f50 WD01!std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits> (unsigned int64)
00007ff7`24774c20 WD01!__report_rangecheckfailure (void)
00007ff7`24775110 WD01!is_potentially_valid_image_base (void *)
00007ff7`24775a70 WD01!_initialize_invalid_parameter_handler (void)
00007ff7`247764a0 WD01!__isa_available_init (void)
00007ff7`24775b10 WD01!__scrt_is_user_matherr_present (void)
00007ff7`24774750 WD01!__scrt_narrow_environment_policy::initialize_environment (void)
00007ff7`24773560 WD01!std::_Adjust_manually_vector_aligned (void **, unsigned int64 *)
00007ff7`247759d0 WD01!_get_startup_argv_mode (void)
00007ff7`247790f0 WD01!`std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0 (void)
00007ff7`24774340 WD01!__security_check_cookie (void)
00007ff7`24773ff0 WD01!std::numeric_limits<__int64>::max (void)
00007ff7`24773ca0 WD01!std::_Xlen_string (void)
00007ff7`24772c80 WD01!std::_Container_base12::_Container_base12 (void)
00007ff7`24772250 WD01!std::_Get_size_of_n<1> (unsigned int64)
00007ff7`24774730 WD01!__scrt_narrow_argv_policy::configure_argv (void)
00007ff7`247752c0 WD01!__scrt_dllmain_crt_thread_attach (void)
00007ff7`247730b0 WD01!std::_Container_proxy_ptr12<std::allocator<std::_Container_proxy> >::~_Container_proxy_ptr12<std::allocator<std::_Container_proxy> > (void)
00007ff7`24772990 WD01!std::forward<std::_Container_base12 *> (struct std::_Container_base12 **)
00007ff7`24773d10 WD01!std::allocator<std::_Container_proxy>::allocate (unsigned int64)
00007ff7`247732e0 WD01!std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry (void)
00007ff7`24774010 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size (void)
00007ff7`24774f30 WD01!capture_previous_context (struct _CONTEXT *)
00007ff7`24773cc0 WD01!__empty_global_delete (void *)
00007ff7`24773cd0 WD01!__empty_global_delete (void *, unsigned int64)
00007ff7`24773780 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth (unsigned int64)
00007ff7`247737c0 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth (unsigned int64, unsigned int64, unsigned int64)
00007ff7`24773f80 WD01!std::_Narrow_char_traits<char,int>::eq_int_type (int *, int *)
00007ff7`24774390 WD01!type_info::`scalar deleting destructor' (void)
00007ff7`247744e0 WD01!pre_cpp_initialization (void)
00007ff7`24773470 WD01!std::bad_alloc::`scalar deleting destructor' (void)
00007ff7`24779070 WD01!`std::_Insert_string<char,std::char_traits<char>,unsigned __int64>'::`1'::dtor$0 (void)
00007ff7`24775b40 WD01!__scrt_get_dyn_tls_init_callback (void)
00007ff7`24773120 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > (void)
00007ff7`24772b10 WD01!std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> > (void)
00007ff7`24772a60 WD01!std::_Container_proxy_ptr12<std::allocator<std::_Container_proxy> >::_Container_proxy_ptr12<std::allocator<std::_Container_proxy> > (class std::allocator<std::_Container_proxy> *, struct std::_Container_base12 *)
00007ff7`24773260 WD01!std::bad_alloc::~bad_alloc (void)
00007ff7`247732a0 WD01!std::exception::~exception (void)
00007ff7`24773a60 WD01!std::_Container_base12::_Orphan_all_unlocked_v3 (void)
00007ff7`247760a0 WD01!_guard_check_icall_nop (unsigned int64)
00007ff7`247728b0 WD01!std::_Unfancy<std::_Container_proxy> (struct std::_Container_proxy *)
00007ff7`24776ae0 WD01!__scrt_stub_for_acrt_uninitialize (bool)
00007ff7`24776b00 WD01!__scrt_stub_for_is_c_termination_complete (void)
00007ff7`24772170 WD01!std::_Convert_size<unsigned __int64> (unsigned int64)
00007ff7`24772f70 WD01!std::basic_ostream<char,std::char_traits<char> >::sentry::sentry (class std::basic_ostream<char,std::char_traits<char> > *)
00007ff7`247731f0 WD01!std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base (void)
00007ff7`24774520 WD01!__scrt_common_main_seh (void)
00007ff7`24772ea0 WD01!std::exception::exception (class std::exception *)
00007ff7`24772f10 WD01!std::exception::exception (char *, int)
00007ff7`24775a20 WD01!__scrt_initialize_type_info (void)
00007ff7`24775660 WD01!__scrt_release_startup_lock (bool)
00007ff7`247753e0 WD01!__scrt_dllmain_uninitialize_critical (void)
00007ff7`24773400 WD01!<lambda_66f57f934f28d61049862f64df852ff0>::operator() (char *, unsigned int64, char *)
00007ff7`247728a0 WD01!std::_Unfancy<char> (char *)
00007ff7`24773d40 WD01!std::_Narrow_char_traits<char,int>::assign (char *, char *)
00007ff7`247733e0 WD01!std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool (void)
00007ff7`24776af0 WD01!__scrt_stub_for_acrt_uninitialize_critical (bool)
00007ff7`24774500 WD01!__scrt_common_main (void)
00007ff7`24771850 WD01!factorical (unsigned int)
00007ff7`24775b80 WD01!__scrt_fastfail (unsigned int)
00007ff7`24773f40 WD01!std::allocator<char>::deallocate (char *, unsigned int64)
00007ff7`24773370 WD01!operator<< (class std::basic_ostream<char,std::char_traits<char> > *, struct JKGirl *)
00007ff7`247719a0 WD01!std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><> (struct std::_Zero_then_variadic_args_t)
00007ff7`24779150 WD01!`__scrt_common_main_seh'::`1'::filt$0 (void)
00007ff7`24772b70 WD01!std::allocator<char>::allocator<char> (void)
00007ff7`24773f70 WD01!std::_Narrow_char_traits<char,int>::eof (void)
00007ff7`247731b0 WD01!JKGirl::~JKGirl (void)
00007ff7`24773e90 WD01!std::_Char_traits<char,int>::copy (char *, char *, unsigned int64)
00007ff7`24775d80 WD01!__scrt_get_show_window_mode (void)
00007ff7`24772740 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *> (unsigned int64, class std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign::__l2::<lambda_66f57f934f28d61049862f64df852ff0>, char *)
00007ff7`24775aa0 WD01!__local_stdio_scanf_options (void)
00007ff7`24773940 WD01!std::_String_val<std::_Simple_types<char> >::_Myptr (void)
00007ff7`247739a0 WD01!std::_String_val<std::_Simple_types<char> >::_Myptr (void)
00007ff7`24776440 WD01!_guard_icall_checks_enforced (void)
00007ff7`24775920 WD01!__security_init_cookie (void)
00007ff7`247740e0 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size (void)
00007ff7`24771f00 WD01!std::_Allocate<16,std::_Default_allocate_traits,0> (unsigned int64)
00007ff7`24774260 WD01!__GSHandlerCheck_EH4 (struct _EXCEPTION_RECORD *, void *, struct _CONTEXT *, struct _DISPATCHER_CONTEXT *)
00007ff7`24772d70 WD01!std::bad_alloc::bad_alloc (char *)
00007ff7`24772dc0 WD01!std::bad_alloc::bad_alloc (class std::bad_alloc *)
00007ff7`24774850 WD01!std::bad_alloc::bad_alloc (void)
00007ff7`247719e0 WD01!std::allocator<std::_Container_proxy>::allocator<std::_Container_proxy><char> (class std::allocator<char> *)
00007ff7`24773760 WD01!std::_Default_allocate_traits::_Allocate (unsigned int64)
00007ff7`24775250 WD01!__scrt_dllmain_after_initialize_c (void)
00007ff7`24775320 WD01!__scrt_dllmain_exception_filter (struct HINSTANCE__ *, unsigned long, void *, <function> *, unsigned long, struct _EXCEPTION_POINTERS *)
00007ff7`24774b10 WD01!__report_gsfailure (unsigned int64)
00007ff7`24775a90 WD01!__local_stdio_printf_options (void)
00007ff7`247756f0 WD01!_onexit (<function> *)
00007ff7`24772900 WD01!std::addressof<std::_Container_proxy> (struct std::_Container_proxy *)
00007ff7`24773f00 WD01!std::_Default_allocator_traits<std::allocator<std::_Container_proxy> >::deallocate (class std::allocator<std::_Container_proxy> *, struct std::_Container_proxy *, unsigned int64)
00007ff7`24773d60 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign (char *)
00007ff7`24773db0 WD01!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign (char *, unsigned int64)
00007ff7`24772100 WD01!std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *> (struct std::_Container_proxy *, struct std::_Container_base12 **)
00007ff7`247731e0 WD01!std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty (void)
00007ff7`247744c0 WD01!post_pgo_initialization (void)
00007ff7`24774100 WD01!std::exception::what (void)
00007ff7`24772ce0 WD01!std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base (class std::basic_ostream<char,std::char_traits<char> > *)
00007ff7`24774810 WD01!__scrt_file_policy::set_fmode (void)
00007ff7`24773b10 WD01!std::_Throw_bad_array_new_length (void)
00007ff7`24775e10 WD01!__scrt_initialize_winrt (void)
00007ff7`247730f0 WD01!std::_String_val<std::_Simple_types<char> >::~_String_val<std::_Simple_types<char> > (void)
00007ff7`24774c40 WD01!__report_securityfailure (unsigned long)
00007ff7`24780368 WD01!_imp__get_initial_narrow_environment = <no type information>
00007ff7`247741ac WD01!std::basic_ostream<char,std::char_traits<char> >::operator<< (public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int))
00007ff7`247741a0 WD01!std::basic_ostream<char,std::char_traits<char> >::_Osfx (public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void))
00007ff7`24774188 WD01!std::basic_ios<char,std::char_traits<char> >::tie (public: class std::basic_ostream<char,struct std::char_traits<char> > * __cdecl std::basic_ios<char,struct std::char_traits<char> >::tie(void)const )
00007ff7`24780180 WD01!_imp_??1_LockitstdQEAAXZ = <no type information>
00007ff7`2477c7d8 WD01!type_info::`RTTI Complete Object Locator' = <no type information>
00007ff7`24780020 WD01!_imp_GetCurrentThreadId = <no type information>
00007ff7`24776a1c WD01!configure_narrow_argv (_configure_narrow_argv)
00007ff7`24776a5e WD01!c_exit (_c_exit)
00007ff7`24780108 WD01!_imp_?coutstd = <no type information>
00007ff7`2477c678 WD01!std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)' = <no type information>
00007ff7`24780220 WD01!_imp___std_exception_copy = <no type information>
00007ff7`24776a3a WD01!exit (exit)
00007ff7`2477696e WD01!GetCurrentProcess (GetCurrentProcess)
00007ff7`24780340 WD01!_imp__seh_filter_exe = <no type information>
00007ff7`24780400 WD01!_imp__crt_atexit = <no type information>
00007ff7`24776968 WD01!SetUnhandledExceptionFilter (SetUnhandledExceptionFilter)
00007ff7`24780410 WD01!_imp_terminate = <no type information>
00007ff7`24780378 WD01!_imp__initterm_e = <no type information>
00007ff7`2477d898 WD01!CT??_R0?AVbad_array_new_lengthstd = <no type information>
00007ff7`247803e8 WD01!_imp__initialize_onexit_table = <no type information>
00007ff7`24774176 WD01!std::basic_streambuf<char,std::char_traits<char> >::sputc (public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char))
00007ff7`24780418 WD01!ucrtbased_NULL_THUNK_DATA = <no type information>
00007ff7`24776a16 WD01!_setusermatherr (__setusermatherr)
00007ff7`24780000 WD01!_imp_GetStartupInfoW = <no type information>
00007ff7`2477697a WD01!IsProcessorFeaturePresent (IsProcessorFeaturePresent)
00007ff7`24780158 WD01!_imp_?widthios_basestdQEBA_JXZ = <no type information>
00007ff7`247769fe WD01!callnewh (_callnewh)
00007ff7`2477e1c8 WD01!std::exception `RTTI Type Descriptor' = <no type information>
00007ff7`2477c808 WD01!type_info::`RTTI Class Hierarchy Descriptor' = <no type information>
00007ff7`2477c820 WD01!type_info::`RTTI Base Class Array' = <no type information>
00007ff7`247769b0 WD01!memcpy (memcpy)
00007ff7`24776a2e WD01!initterm (_initterm)
00007ff7`24780198 WD01!MSVCP140D_NULL_THUNK_DATA = <no type information>
00007ff7`24776a40 WD01!exit (_exit)
00007ff7`24780058 WD01!_imp_UnhandledExceptionFilter = <no type information>
00007ff7`247769d4 WD01!_C_specific_handler (__C_specific_handler)
00007ff7`24780228 WD01!_imp___std_exception_destroy = <no type information>
00007ff7`24776950 WD01!RtlCaptureContext (RtlCaptureContext)
00007ff7`24774182 WD01!std::basic_ios<char,std::char_traits<char> >::setstate (public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool))
00007ff7`24780170 WD01!_imp_?uncaught_exceptionstdYA_NXZ = <no type information>
00007ff7`247769b6 WD01!memmove (memmove)
00007ff7`24780128 WD01!_imp_?rdbuf?$basic_iosDU?$char_traitsDstdstdQEBAPEAV?$basic_streambufDU?$char_traitsDstd = <no type information>
00007ff7`24780390 WD01!_imp__set_fmode = <no type information>
00007ff7`24776a04 WD01!malloc (malloc)
00007ff7`247803a0 WD01!_imp___p___argv = <no type information>
00007ff7`247804f0 WD01!_IMPORT_DESCRIPTOR_ucrtbased = <no type information>
00007ff7`24776a58 WD01!cexit (_cexit)
00007ff7`24780120 WD01!_imp_?fill?$basic_iosDU?$char_traitsDstdstdQEBADXZ = <no type information>
00007ff7`247769bc WD01!_std_exception_copy (__std_exception_copy)
00007ff7`24776aa6 WD01!terminate (terminate)
00007ff7`2477e160 WD01!std::bad_array_new_length `RTTI Type Descriptor' = <no type information>
00007ff7`24780330 WD01!_imp__callnewh = <no type information>
00007ff7`24776a6a WD01!configthreadlocale (_configthreadlocale)
00007ff7`24776980 WD01!QueryPerformanceCounter (QueryPerformanceCounter)
00007ff7`2477419a WD01!std::basic_ios<char,std::char_traits<char> >::widen (public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::widen(char)const )
00007ff7`2477415e WD01!std::ios_base::good (public: bool __cdecl std::ios_base::good(void)const )
00007ff7`2477d858 WD01!TI3?AVbad_array_new_lengthstd = <no type information>
00007ff7`24780380 WD01!_imp_exit = <no type information>
00007ff7`24780328 WD01!_imp_strlen = <no type information>
00007ff7`24776992 WD01!GetSystemTimeAsFileTime (GetSystemTimeAsFileTime)
00007ff7`24774194 WD01!std::basic_ios<char,std::char_traits<char> >::fill (public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::fill(void)const )
00007ff7`24780110 WD01!_imp_?_Osfx?$basic_ostreamDU?$char_traitsDstdstdQEAAXXZ = <no type information>
00007ff7`24776a64 WD01!register_thread_local_exe_atexit_callback (_register_thread_local_exe_atexit_callback)
00007ff7`2477c768 WD01!std::bad_array_new_length::`RTTI Class Hierarchy Descriptor' = <no type information>
00007ff7`2477c780 WD01!std::bad_array_new_length::`RTTI Base Class Array' = <no type information>
00007ff7`24780250 WD01!_imp___current_exception = <no type information>
00007ff7`24776998 WD01!InitializeSListHead (InitializeSListHead)
00007ff7`24780048 WD01!_imp_GetCurrentProcess = <no type information>
00007ff7`247803e0 WD01!_imp__seh_filter_dll = <no type information>
00007ff7`2477c650 WD01!std::exception::`RTTI Class Hierarchy Descriptor' = <no type information>
00007ff7`24776962 WD01!UnhandledExceptionFilter (UnhandledExceptionFilter)
00007ff7`2477c668 WD01!std::exception::`RTTI Base Class Array' = <no type information>
00007ff7`247769e6 WD01!_current_exception_context (__current_exception_context)
00007ff7`24780240 WD01!_imp___C_specific_handler = <no type information>
00007ff7`24780070 WD01!_imp_RtlCaptureContext = <no type information>
00007ff7`2477c7a8 WD01!std::bad_array_new_length::`RTTI Base Class Descriptor at (0,-1,0,64)' = <no type information>
00007ff7`24780080 WD01!KERNEL32_NULL_THUNK_DATA = <no type information>
00007ff7`24776a22 WD01!initialize_narrow_environment (_initialize_narrow_environment)
00007ff7`24780350 WD01!_imp___setusermatherr = <no type information>
00007ff7`247800f0 WD01!_imp_??6?$basic_ostreamDU?$char_traitsDstdstdQEAAAEAV01HZ = <no type information>
00007ff7`24780408 WD01!_imp__crt_at_quick_exit = <no type information>
00007ff7`24780140 WD01!_imp_?sputn?$basic_streambufDU?$char_traitsDstdstdQEAA_JPEBD_JZ = <no type information>
00007ff7`24780028 WD01!_imp_GetCurrentProcessId = <no type information>
00007ff7`24780318 WD01!_imp__invalid_parameter = <no type information>
00007ff7`24776a88 WD01!initialize_onexit_table (_initialize_onexit_table)
00007ff7`24774158 WD01!std::uncaught_exception (bool __cdecl std::uncaught_exception(void))
00007ff7`24780258 WD01!VCRUNTIME140D_NULL_THUNK_DATA = <no type information>
00007ff7`24780398 WD01!_imp___p___argc = <no type information>
00007ff7`24780038 WD01!_imp_IsProcessorFeaturePresent = <no type information>
00007ff7`2477c620 WD01!std::exception::`RTTI Complete Object Locator' = <no type information>
00007ff7`24780370 WD01!_imp__initterm = <no type information>
00007ff7`2477d910 WD01!TI2?AVbad_allocstd = <no type information>
00007ff7`24774164 WD01!std::ios_base::flags (public: int __cdecl std::ios_base::flags(void)const )
00007ff7`24780148 WD01!_imp_?sputc?$basic_streambufDU?$char_traitsDstdstdQEAAHDZ = <no type information>
00007ff7`24780388 WD01!_imp__exit = <no type information>
00007ff7`247769ce WD01!_CxxFrameHandler4 (__CxxFrameHandler4)
00007ff7`24776956 WD01!RtlLookupFunctionEntry (RtlLookupFunctionEntry)
00007ff7`24780230 WD01!_imp__CxxThrowException = <no type information>
00007ff7`24780040 WD01!_imp_TerminateProcess = <no type information>
00007ff7`247769f8 WD01!strlen (strlen)
00007ff7`24776a8e WD01!register_onexit_function (_register_onexit_function)
00007ff7`24780008 WD01!_imp_IsDebuggerPresent = <no type information>
00007ff7`247802c0 WD01!VCRUNTIME140_1D_NULL_THUNK_DATA = <no type information>
00007ff7`24776986 WD01!GetCurrentProcessId (GetCurrentProcessId)
00007ff7`24776a4c WD01!_p___argc (__p___argc)
00007ff7`24776a7c WD01!free_dbg (_free_dbg)
00007ff7`2477d8c0 WD01!CT??_R0?AVbad_allocstd = <no type information>
00007ff7`2477d8e8 WD01!CT??_R0?AVexceptionstd = <no type information>
00007ff7`24776a82 WD01!seh_filter_dll (_seh_filter_dll)
00007ff7`247803b8 WD01!_imp__register_thread_local_exe_atexit_callback = <no type information>
00007ff7`247803f8 WD01!_imp__execute_onexit_table = <no type information>
00007ff7`24774152 WD01!std::_Xlength_error (void __cdecl std::_Xlength_error(char const *))
00007ff7`24776aa0 WD01!crt_at_quick_exit (_crt_at_quick_exit)
00007ff7`24780100 WD01!_imp_?flush?$basic_ostreamDU?$char_traitsDstdstdQEAAAEAV12XZ = <no type information>
00007ff7`247769e0 WD01!_current_exception (__current_exception)
00007ff7`24780188 WD01!_imp_?put?$basic_ostreamDU?$char_traitsDstdstdQEAAAEAV12DZ = <no type information>
00007ff7`2477c708 WD01!std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)' = <no type information>
00007ff7`247741a6 WD01!std::basic_ostream<char,std::char_traits<char> >::operator<< (public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &)))
00007ff7`247769c8 WD01!CxxThrowException (_CxxThrowException)
00007ff7`24780018 WD01!_imp_GetSystemTimeAsFileTime = <no type information>
00007ff7`247769aa WD01!GetModuleHandleW (GetModuleHandleW)
00007ff7`2477e198 WD01!std::bad_alloc `RTTI Type Descriptor' = <no type information>
00007ff7`247769da WD01!_std_type_info_destroy_list (__std_type_info_destroy_list)
00007ff7`24780238 WD01!_imp___current_exception_context = <no type information>
00007ff7`24780348 WD01!_imp__set_app_type = <no type information>
00007ff7`247804a0 WD01!_IMPORT_DESCRIPTOR_MSVCP140D = <no type information>
00007ff7`247769f2 WD01!CrtDbgReport (_CrtDbgReport)
00007ff7`247769ec WD01!invalid_parameter (_invalid_parameter)
00007ff7`2477d878 WD01!CTA3?AVbad_array_new_lengthstd = <no type information>
00007ff7`24780190 WD01!_imp_??0_LockitstdQEAAHZ = <no type information>
00007ff7`24780160 WD01!_imp_?flagsios_basestdQEBAHXZ = <no type information>
00007ff7`24776a70 WD01!set_new_mode (_set_new_mode)
00007ff7`24780118 WD01!_imp_?widen?$basic_iosDU?$char_traitsDstdstdQEBADDZ = <no type information>
00007ff7`247803c0 WD01!_imp__configthreadlocale = <no type information>
00007ff7`2477e2f8 WD01!type_info `RTTI Type Descriptor' = <no type information>
00007ff7`24780168 WD01!_imp_?goodios_basestdQEBA_NXZ = <no type information>
00007ff7`2477417c WD01!std::basic_streambuf<char,std::char_traits<char> >::sputn (public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64))
00007ff7`2477c738 WD01!std::bad_array_new_length::`RTTI Complete Object Locator' = <no type information>
00007ff7`24774170 WD01!std::ios_base::width (public: __int64 __cdecl std::ios_base::width(__int64))
00007ff7`24780068 WD01!_imp_RtlLookupFunctionEntry = <no type information>
00007ff7`24780030 WD01!_imp_QueryPerformanceCounter = <no type information>
00007ff7`24776a76 WD01!_p__commode (__p__commode)
00007ff7`2477c830 WD01!type_info::`RTTI Base Class Descriptor at (0,-1,0,64)' = <no type information>
00007ff7`24780360 WD01!_imp__initialize_narrow_environment = <no type information>
00007ff7`2477c0a0 WD01!_real = <no type information>
00007ff7`24780010 WD01!_imp_InitializeSListHead = <no type information>
00007ff7`24780060 WD01!_imp_RtlVirtualUnwind = <no type information>
00007ff7`2477eb18 WD01!`__local_stdio_printf_options'::`2'::_OptionsStorage = <no type information>
00007ff7`247802b8 WD01!_imp___CxxFrameHandler4 = <no type information>
00007ff7`24780078 WD01!_imp_GetModuleHandleW = <no type information>
00007ff7`2477c6d8 WD01!std::bad_alloc::`RTTI Class Hierarchy Descriptor' = <no type information>
00007ff7`2477c6f0 WD01!std::bad_alloc::`RTTI Base Class Array' = <no type information>
00007ff7`24776a34 WD01!initterm_e (_initterm_e)
00007ff7`247769c2 WD01!_std_exception_destroy (__std_exception_destroy)
00007ff7`24780210 WD01!_imp_memcpy = <no type information>
00007ff7`24776a0a WD01!seh_filter_exe (_seh_filter_exe)
00007ff7`247803c8 WD01!_imp__set_new_mode = <no type information>
00007ff7`24780178 WD01!_imp_?_Xlength_errorstdYAXPEBDZ = <no type information>
00007ff7`24776974 WD01!TerminateProcess (TerminateProcess)
00007ff7`247803d8 WD01!_imp__free_dbg = <no type information>
00007ff7`2477414c WD01!std::_Lockit::~_Lockit (public: __cdecl std::_Lockit::~_Lockit(void))
00007ff7`24776a52 WD01!_p___argv (__p___argv)
00007ff7`24780130 WD01!_imp_?tie?$basic_iosDU?$char_traitsDstdstdQEBAPEAV?$basic_ostreamDU?$char_traitsDstd = <no type information>
00007ff7`24776a28 WD01!get_initial_narrow_environment (_get_initial_narrow_environment)
00007ff7`24780138 WD01!_imp_?setstate?$basic_iosDU?$char_traitsDstdstdQEAAXH_NZ = <no type information>
00007ff7`24780050 WD01!_imp_SetUnhandledExceptionFilter = <no type information>
00007ff7`247804b4 WD01!_IMPORT_DESCRIPTOR_KERNEL32 = <no type information>
00007ff7`247803d0 WD01!_imp___p__commode = <no type information>
00007ff7`247803a8 WD01!_imp__cexit = <no type information>
00007ff7`2477c6a8 WD01!std::bad_alloc::`RTTI Complete Object Locator' = <no type information>
00007ff7`247804dc WD01!_IMPORT_DESCRIPTOR_VCRUNTIME140_1D = <no type information>
00007ff7`247741b8 WD01!std::basic_ostream<char,std::char_traits<char> >::flush (public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void))
00007ff7`24780218 WD01!_imp_memmove = <no type information>
00007ff7`2477698c WD01!GetCurrentThreadId (GetCurrentThreadId)
00007ff7`24776a46 WD01!set_fmode (_set_fmode)
00007ff7`24780338 WD01!_imp_malloc = <no type information>
00007ff7`2477695c WD01!RtlVirtualUnwind (RtlVirtualUnwind)
00007ff7`247803f0 WD01!_imp__register_onexit_function = <no type information>
00007ff7`24776a9a WD01!crt_atexit (_crt_atexit)
00007ff7`24780320 WD01!_imp__CrtDbgReport = <no type information>
00007ff7`2477416a WD01!std::ios_base::width (public: __int64 __cdecl std::ios_base::width(void)const )
00007ff7`24774146 WD01!std::_Lockit::_Lockit (public: __cdecl std::_Lockit::_Lockit(int))
00007ff7`2477418e WD01!std::basic_ios<char,std::char_traits<char> >::rdbuf (public: class std::basic_streambuf<char,struct std::char_traits<char> > * __cdecl std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const )
00007ff7`247804c8 WD01!_IMPORT_DESCRIPTOR_VCRUNTIME140D = <no type information>
00007ff7`247741b2 WD01!std::basic_ostream<char,std::char_traits<char> >::put (public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::put(char))
00007ff7`24780358 WD01!_imp__configure_narrow_argv = <no type information>
00007ff7`247800f8 WD01!_imp_??6?$basic_ostreamDU?$char_traitsDstdstdQEAAAEAV01P6AAEAV01AEAV01ZZ = <no type information>
00007ff7`2477d930 WD01!CTA2?AVbad_allocstd = <no type information>
00007ff7`247803b0 WD01!_imp__c_exit = <no type information>
00007ff7`2477699e WD01!IsDebuggerPresent (IsDebuggerPresent)
00007ff7`24780150 WD01!_imp_?widthios_basestdQEAA_J_JZ = <no type information>
00007ff7`24780248 WD01!_imp___std_type_info_destroy_list = <no type information>
00007ff7`24776a10 WD01!set_app_type (_set_app_type)
00007ff7`24776a94 WD01!execute_onexit_table (_execute_onexit_table)
00007ff7`24780504 WD01!_NULL_IMPORT_DESCRIPTOR = <no type information>
00007ff7`247769a4 WD01!GetStartupInfoW (GetStartupInfoW)
00007ff7`2477eb28 WD01!`__local_stdio_scanf_options'::`2'::_OptionsStorage = <no type information>

在调试完全陌生的程序时,这个指令能有效的帮助到你。不过,我们一般会先找程序的入口函数。例如 mainwinMain等。

3.3 x WD01!*main*

这里我们仍使用 *通配符,搜索得到所有包含main的符号。可以得到如下所示的结果:

0:000> x WD01!*main*
00007ff7`2477e028 WD01!__scrt_native_dllmain_reason = 0xffffffff
00007ff7`247718a0 WD01!main (void)
00007ff7`247747c0 WD01!__scrt_main_policy::set_app_type (void)
00007ff7`247753a0 WD01!__scrt_dllmain_uninitialize_c (void)
00007ff7`24774770 WD01!invoke_main (void)
00007ff7`24774830 WD01!mainCRTStartup (void *)
00007ff7`24775290 WD01!__scrt_dllmain_before_initialize_c (void)
00007ff7`24778fc0 WD01!main$dtor$1 (void)
00007ff7`24775300 WD01!__scrt_dllmain_crt_thread_detach (void)
00007ff7`247752c0 WD01!__scrt_dllmain_crt_thread_attach (void)
00007ff7`24774520 WD01!__scrt_common_main_seh (void)
00007ff7`247753e0 WD01!__scrt_dllmain_uninitialize_critical (void)
00007ff7`24774500 WD01!__scrt_common_main (void)
00007ff7`24779150 WD01!`__scrt_common_main_seh'::`1'::filt$0 (void)
00007ff7`24775250 WD01!__scrt_dllmain_after_initialize_c (void)
00007ff7`24775320 WD01!__scrt_dllmain_exception_filter (struct HINSTANCE__ *, unsigned long, void *, <function> *, unsigned long, struct _EXCEPTION_POINTERS *)

很显然,不仅列出了程序的入口函数

00007ff7`247718a0 WD01!main (void)v

同时列出了其他所有匹配的符号信息。

3.4 x WD01!main 精确匹配

0:000> x WD01!main
00007ff7`247718a0 WD01!main (void)

显然,信息准确了很多,仅显示了跟入口main函数相关的信息,包括地址、函数名称和返回值类型

3.5 x /0 WD01!main

0:000> x /0 WD01!main
00007ff7`247718a0 

仅显示了地址,与我们在表中归纳一致

3.6 x /1 WD01!main

0:000> x /1 WD01!main
WD01!main

仅显示了名称,与我们在表中归纳一致

3.7 x /2 WD01!main

0:000> x /2 WD01!main
00007ff7`247718a0 WD01!main

同时显示了模块的地址和名称,与我们在表中归纳一致

3.8 x /2 /D WD01!main

0:000> x /2 /D WD01!main
 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

00007ff7`247718a0 WD01!main

这种模式下,可以通过点击上方的首字母进行模块的模糊匹配进行查询。
例如,我们选择M,其等价于在命令行输入x /2 /D WD01!m*

3.9 x /v WD01!main

0:000> x  /v WD01!main
prv func   00007ff7`247718a0   ba WD01!main (void)

3.10 x /t WD01!factorical

0:000> x /t WD01!factorical
00007ff7`24771850 <function> WD01!factorical (unsigned int)

显示了当前的查询模块类型为<function>

3.11 x /q WD01!factorical

0:000> x /q  WD01!factorical
00007ff7`24771850 @!"WD01!factorical" (unsigned int)

搜索的信息中,symbol名称用引号显示。
在这里插入图片描述
点击之后,相当于执行了u address指令。对于u指令,会用新的篇幅总结讲解。

0:000> u 7ff724771850
WD01!factorical [D:\QtDemos\WD01\main.cpp @ 16]:
00007ff7`24771850 894c2408        mov     dword ptr [rsp+8],ecx
00007ff7`24771854 4883ec28        sub     rsp,28h
00007ff7`24771858 837c243000      cmp     dword ptr [rsp+30h],0
00007ff7`2477185d 7708            ja      WD01!factorical+0x17 (00007ff7`24771867)
00007ff7`2477185f 8b059bc70000    mov     eax,dword ptr [WD01!result (00007ff7`2477e000)]
00007ff7`24771865 eb24            jmp     WD01!factorical+0x3b (00007ff7`2477188b)
00007ff7`24771867 8b0593c70000    mov     eax,dword ptr [WD01!result (00007ff7`2477e000)]
00007ff7`2477186d 0faf442430      imul    eax,dword ptr [rsp+30h]

3.12 x /f /v WD01!factorical

0:000> x /f /v WD01!factorical
prv func   00007ff7`24771850   40 WD01!factorical (unsigned int)
文章来源:https://blog.csdn.net/weixin_39568531/article/details/135815826
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。