рд╡реЗрдм рдлрд╝реЙрд░реНрдо рдХреЗ рдЕрд╕рдлрд▓ рдкреНрд░рд╕реНрддреБрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдорд┐рдирдЯ рдореЗрдВ рдкрд╛рда рдХреЛ рдХреИрд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдХреНрдпрд╛ рдРрд╕рд╛ рдХрднреА рд╣реБрдЖ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╛рда рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реЛ, рдЗрд╕реЗ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝реЗрдВ, рдФрд░ рдлрд┐рд░, рд╕рдЪрдореБрдЪ рдПрдХ рдкрд▓ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдФрд░ рдлреЙрд░реНрдо рдореЗрдВ рдЖрдкрдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдбрд┐рд▓реАрдЯ рд╣реЛ рдЧрдпрд╛?

рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рд╛рдЗрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдореЗрд░рд╛ рдорддрд▓рдм рди рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдЬреЛ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рдмрд┐рддрд╛рдирд╛ рдмрд╣реБрдд рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдерд╛): рд╡реЗрдм рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдм рд╕рдВрдЧреНрд░рд╣рдг ) рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рдлреЙрд░реНрдо рдбреЗрдЯрд╛ рд╕рд╣рд┐рдд) - рдЧрд▓рддреА рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдВрдж рдХрд░рдирд╛ред

рдФрд░ рдлрд┐рд░ рднреА, рдЖрдкрдиреЗ рдПрдХ рд▓рдВрдмрд╛ рдкрд╛рда рд▓рд┐рдЦрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдлрд╝реЙрд░реНрдо рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреНрдпрд╛ рдЕрдм рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдкреНрд░рдкрддреНрд░ рд╕реЗ рдкрд╛рда рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдкрдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдВрдж рди рдХрд░реЗрдВ!


рдПрдХ рдЙрдкрд╛рдп рд╣реИ


рдпрджрд┐ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ superuser.com , StackExchange рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреЛрдП рд╣реБрдП рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рд╛ред рдпрд╣ рдЬреЙрдп рдПрдбрдореНрд╕ рдирд╛рдо рдХреЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдереА рдХрд┐ "рдореИрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдПрдХ рдлреЙрд░реНрдо рдХреЛ рдХреИрд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВ * рдПрдХ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ ред "

рд╡реИрд╕реЗ, рдпрд╣ рд╡рд┐рдзрд┐ рди рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП, рдзрдиреНрдпрд╡рд╛рдж Lord_D :

рдбрдВрдк рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП PMDump рд╣реИред рдФрд░ рдЖрдк рдХреБрдЫ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдбрдВрдк рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдлреНрдд рд╡рд╛рд▓реЗ рд╕реЗ - рдПрдЪрдПрдХреНрд╕рдбреА) рдпрд╛ рдЙрд╕реА grep рдХреЗ рд╕рд╛рдеред

рдореИрдХ рдХреЗ рд▓рд┐рдП, рдзрдиреНрдпрд╡рд╛рдж BeLove :

lldb --attach-pid PID 

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЪрд░рдг 1


рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ gdb рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ (GNU рдбреАрдмрдЧрд░)ред рдЖрдкрдХреЛ рдЬреАрдУрдЖрд░рдЯреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд░реИрдо рдХреЛ рдбрдВрдк рдХрд░ рд╕рдХрддреА рд╣реИред

рдЪрд░рдг 2


рдЖрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдиреЗ? рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВ:

ps -e | grep firefox

рдЕрдм рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП gcore рдЪрд▓рд╛рдПрдВ:

gcore _

рдпрджрд┐ рдкреЙрдЯреНрд░реЗрд╕ рдЧреЙрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ ( Operation not permitted ), рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЕрдкрдиреЗ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдореЗрдореЛрд░реА рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИрдВ (рднрд▓реЗ рд╣реА рдпреВрдЖрдИрдбреА рдореИрдЪ рд╣реЛ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдмрдВрдЯреВ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдРрд╕реА рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдпрджрд┐ рдЖрдкрдиреЗ рдлрд╝рд╛рдЗрд▓ /proc/sys/kernel/yama/ptrace_scope рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рди рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдЖрдо рддреМрд░ рдкрд░, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ - рдЖрдк рд╕реБрдкрд░рд╕реБрд╕рд░ рдХреА рдУрд░ рд╕реЗ рдХреЗрд╡рд▓ рдЧреЙрд░реНрдХ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд░рдг 3


рдХреЛрд░.рдкреНрд░реЛрд╕реЗрд╕_рдирдВрдмрд░ рдлрд╝рд╛рдЗрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, core.20727) рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬрдм gcore рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм 934 MiB рд╣реИред

рдЕрдм grep рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдбрдВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╛рда рдореЗрдВ рд╕рдлрд╝рд╛рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк "рд╕рдлрд╝рд╛рд░реА" рд╢рдмреНрдж рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ:

grep 'Safari' core.20727

рдпрджрд┐ рдЖрдк рдПрдХ рд╕рдВрджреЗрд╢ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдореИрдЪ рд╣реИ ( Binary file core.20727 matches ) - рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ, рддреЛ рдЪреМрдереЗ рдЪрд░рдг рдкрд░ рдЬрд╛рдПрдВред рдпрджрд┐ рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкрд╛рда рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рдерд╛, рдФрд░ рдХреБрдЫ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдЪрд░рдг 4


рдЕрдм рдпрд╣ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЙрди рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкрд╛рда рдХреЗ рд╕рд╛рде рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

grep -B 20 -A 20 -a 'Safari' core.20727 > /tmp/out

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк grep рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдЗрдирд░реА рдХреЛ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореИрдЪ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 20 рдкреВрд░реНрд╡рд╡рд░реНрддреА рдФрд░ 20 рдмрд╛рдж рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЪрд░рдг 5


рдЕрдм рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдЕрдкрдирд╛ рдкрд╛рда рдвреВрдВрдвреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, less /tmp/out рдХрд╛ рдЙрдкрдпреЛрдЧ less /tmp/out :



рд╕рднреА рдХреЛ рд╢реБрдн рд╕рдВрдзреНрдпрд╛ рд╣реЛред рдФрд░ Ctrl + S. :) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛

Source: https://habr.com/ru/post/In169193/


All Articles