{"id":907,"date":"2018-09-13T10:19:18","date_gmt":"2018-09-13T19:19:18","guid":{"rendered":"\/blog\/?p=907"},"modified":"2023-09-21T09:37:28","modified_gmt":"2023-09-21T00:37:28","slug":"java-jvmtijava-virtual-machine-tool-interface","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=907","title":{"rendered":"[Java] JVMTI(Java Virtual Machine Tool Interface)"},"content":{"rendered":"\n<p>\ucd9c\ucc98:&nbsp;https:\/\/www.hunskorea.com\/docs\/ko\/platform\/jvmti\/jvmti.html<\/p>\n\n<table border=\"0\" width=\"100%\">\n    <tbody>\n       <tr>\n          <td align=\"center\">\n         <h1>Java<sup><font size=\"-2\">TM<\/font><\/sup> Virtual Machine Tool Interface<\/h1>\n\n          <h3>Version 1.1<\/h3>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<ul>\n    <li><a href=\"#SpecificationIntro\"><b>\ucc98\uc74c\uc5d0<\/b><\/a>\n\n   <ul>\n      <li><a href=\"#whatIs\"><b>JVMTI \ub780<\/b><\/a><\/li>\n      <li><a href=\"#architecture\"><b>\uc544\ud0a4\ud14d\uccd0(architecture)<\/b><\/a><\/li>\n      <li><a href=\"#writingAgents\"><b>\uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc131<\/b><\/a><\/li>\n        <li><a href=\"#deployingAgents\"><b>\uc5d0\uc774\uc804\ud2b8\uc758 \ubc30\uce58<\/b><\/a><\/li>\n      <li><a href=\"#starting\"><b>JVMTI \uc5d0\uc774\uc804\ud2b8\uc758 \ucee4\uba58\ub4dc\ud589 \uc635\uc158<\/b><\/a><\/li>\n      <li><a href=\"#startup\"><b>\uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9<\/b><\/a><\/li>\n      <li><a href=\"#onload\"><b>\uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 (OnLoad \ub2e8\uacc4)<\/b><\/a><\/li>\n     <li><a href=\"#onattach\"><b>\uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 (\ub77c\uc774\ube0c \ub2e8\uacc4)<\/b><\/a><\/li>\n       <li><a href=\"#onunload\"><b>\uc5d0\uc774\uc804\ud2b8\uc758 \uc815\uc9c0<\/b><\/a><\/li>\n     <li><a href=\"#tooloptions\"><b>JAVA_TOOL_OPTIONS<\/b><\/a><\/li>\n        <li><a href=\"#environments\"><b>JVMTI \ud658\uacbd<\/b><\/a><\/li>\n      <li><a href=\"#bci\"><b>\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/b><\/a><\/li>\n        <li><a href=\"#mUTF\"><b>\uc218\uc815 UTF-8 \uc758 \uce90\ub9ad\ud130 \ub77c\uc778 \uc778\ucf54\ub529<\/b><\/a><\/li>\n        <li><a href=\"#context\"><b>\uc2a4\ud399\uc758 \ubb38\ub9e5<\/b><\/a><\/li>\n  <\/ul>\n <\/li>\n <li><a href=\"#FunctionSection\"><b>\ud568\uc218<\/b><\/a>\n  <ul>\n      <li><a href=\"#jvmtiEnvAccess\"><b>JVMTI \ud568\uc218\uc758 \uc561\uc138\uc2a4<\/b><\/a><\/li>\n       <li><a href=\"#functionReturn\"><b>\ud568\uc218\uc758 \ubc18\ud658\uac12<\/b><\/a><\/li>\n     <li><a href=\"#refs\"><b>JNI \uac1d\uccb4 \ucc38\uc870\uc758 \uad00\ub9ac<\/b><\/a><\/li>\n        <li><a href=\"#prereqState\"><b>\ud568\uc218 \ud638\ucd9c\uc758 \ud544\uc694 \uc870\uac74<\/b><\/a><\/li>\n        <li><a href=\"#functionsExceptions\"><b>\uc608\uc678\uc640 \ud568\uc218<\/b><\/a><\/li>\n      <li><a href=\"#FunctionIndex\"><b>\ud568\uc218\uc758 \uc0c9\uc778<\/b><\/a>\n     <ul>\n          <li><a href=\"#memory\"><b>\uba54\ubaa8\ub9ac \uad00\ub9ac<\/b><\/a><\/li>\n           <li><a href=\"#threadCategory\"><b>thread<\/b><\/a><\/li>\n            <li><a href=\"#thread_groups\"><b>thread \uadf8\ub8f9<\/b><\/a><\/li>\n            <li><a href=\"#stack\"><b>\uc2a4\ud0dd \ud504\ub808\uc784<\/b><\/a><\/li>\n            <li><a href=\"#ForceEarlyReturn\"><b>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c<\/b><\/a><\/li>\n            <li><a href=\"#Heap\"><b>heap<\/b><\/a><\/li>\n            <li><a href=\"#Heap_1_0\"><b>heap (1.0)<\/b><\/a><\/li>\n          <li><a href=\"#local\"><b>\uad6d\uc18c \ubcc0\uc218<\/b><\/a><\/li>\n          <li><a href=\"#breakpointCategory\"><b>breakpoint<\/b><\/a><\/li>\n            <li><a href=\"#fieldWatch\"><b>\uac10\uc2dc\ub418\ub294 \ud544\ub4dc<\/b><\/a><\/li>\n         <li><a href=\"#class\"><b>\ud074\ub798\uc2a4<\/b><\/a><\/li>\n         <li><a href=\"#object\"><b>\uac1d\uccb4<\/b><\/a><\/li>\n          <li><a href=\"#fieldCategory\"><b>\ud544\ub4dc<\/b><\/a><\/li>\n           <li><a href=\"#method\"><b>\uba54\uc18c\ub4dc<\/b><\/a><\/li>\n            <li><a href=\"#RawMonitors\"><b>raw \ubaa8\ub2c8\ud130<\/b><\/a><\/li>\n           <li><a href=\"#jniIntercept\"><b>JNI \ud568\uc218\uc758 \ucc28\ub2e8<\/b><\/a><\/li>\n         <li><a href=\"#eventManagement\"><b>\uc774\ubca4\ud2b8 \uad00\ub9ac<\/b><\/a><\/li>\n          <li><a href=\"#extension\"><b>\ud655\uc7a5 \uae30\ub2a5 \uae30\uad6c<\/b><\/a><\/li>\n         <li><a href=\"#capability\"><b>\uad8c\ud55c<\/b><\/a><\/li>\n          <li><a href=\"#timers\"><b>\ud0c0\uc774\uba38<\/b><\/a><\/li>\n            <li><a href=\"#classLoaderSearch\"><b>\ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9<\/b><\/a><\/li>\n           <li><a href=\"#props\"><b>\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0<\/b><\/a><\/li>\n            <li><a href=\"#general\"><b>\uc804\ubc18<\/b><\/a><\/li>\n     <\/ul>\n     <\/li>\n     <li><a href=\"#ErrorSection\"><b>\uc5d0\ub7ec \ucf54\ub4dc<\/b><\/a><\/li>\n   <\/ul>\n <\/li>\n <li><a href=\"#EventSection\"><b>\uc774\ubca4\ud2b8<\/b><\/a>\n   <ul>\n      <li><a href=\"#EventIndex\"><b>\uc774\ubca4\ud2b8\uc758 \uc0c9\uc778<\/b><\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#DataSection\"><b>\ub370\uc774\ud130\ud615<\/b><\/a>\n  <ul>\n      <li><a href=\"#jniTypes\"><b>JVMTI \ub85c \uc0ac\uc6a9\ud558\ub294 JNI \uc758 \ud615\ud0dc<\/b><\/a><\/li>\n       <li><a href=\"#jvmtiTypes\"><b>JVMTI \uae30\uc800\ud615<\/b><\/a><\/li>\n      <li><a href=\"#StructureTypeDefinitions\"><b>\uad6c\uc870\ud615\uc758 \uc815\uc758<\/b><\/a><\/li>\n       <li><a href=\"#FunctionTypeDefinitions\"><b>\ud568\uc218\ud615\uc758 \uc815\uc758<\/b><\/a><\/li>\n        <li><a href=\"#EnumerationDefinitions\"><b>\uc5f4\uac70\ud615\uc758 \uc815\uc758<\/b><\/a><\/li>\n     <li><a href=\"#FunctionTable\"><b>\ud568\uc218 \ud14c\uc774\ube14<\/b><\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#ConstantIndex\"><b>\uc815\uc218\uc758 \uc0c9\uc778<\/b><\/a><\/li>\n    <li><a href=\"#ChangeHistory\"><b>\ubcc0\uacbd \uc774\ub825<\/b><\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<p>&nbsp;<\/p>\n\n<p id=\"SpecificationIntro\">&nbsp;<\/p>\n\n<h4 id=\"whatIs\">JVMTI \ub780<\/h4>\n\n<p>Java<sup style=\"font-size: xx-small\">TM<\/sup> Virtual Machine Tool Interface (JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI)\ub294, \uac1c\ubc1c\ud234\uc774\ub098 \uac10\uc2dc \ud234\ub85c \uc0ac\uc6a9\ub418\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uc778\ud130\ud398\uc774\uc2a4\uc785\ub2c8\ub2e4. JVMTI \ub294, Java<sup><font size=\"-2\">TM<\/font><\/sup> \uac00\uc0c1 \uba38\uc2e0 (VM)\uc73c\ub85c \ub3d9\uc791\ud558\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 \uc0c1\ud0dc \uac80\uc0ac\uc640 \uc2e4\ud589 \uc81c\uc5b4\uc758 \uc591\ucabd \ubaa8\ub450\uc758 \uae30\ub2a5\uc744 \uc81c\uacf5\ud574,<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud504\ub85c \ud30c\uc77c\ub9c1 \ud234, \ub514\ubc84\uadf8 \ud234, \uac10\uc2dc \ud234, thread \ubd84\uc11d \ud234, \ucee4\ubc84\ub9ac\uc9c0(coverage) \ubd84\uc11d \ud234 \ub4f1, VM \uc0c1\ud0dc \uadf8 \uc678\uc5d0 \uc561\uc138\uc2a4 \ud560 \ud544\uc694\uac00 \uc788\ub294 \uac01\uc885 \ud234\uc758 VM \uc778\ud130\ud398\uc774\uc2a4\ub85c\uc11c \uae30\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVMTI \ub294, Java<sup style=\"font-size: xx-small\">TM<\/sup> \uac00\uc0c1 \uba38\uc2e0\uc758 \ubaa8\ub4e0 \uad6c\ud604\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\uace0\ub294 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294, \uc30d\ubc29\ud5a5\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc785\ub2c8\ub2e4. \uc774\ud558\uc5d0\uc11c\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \u300c\uc5d0\uc774\uc804\ud2b8\u300d\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294,<a href=\"#EventSection\">\uc774\ubca4\ud2b8<\/a>\ub85c\ubd80\ud130, \ub2e4\uc591\ud55c \uc0c1\ud0dc\uc758 \ubc1c\uc0dd \ud1b5\uc9c0\ub97c \ubc1b\uc744 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. <i><\/i>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294, \uc774\ubca4\ud2b8\uc5d0 \uc751\ub2f5\ud574, \ub610\ub294 \uc774\ubca4\ud2b8\ub85c\ubd80\ud130\ub294 \ub3c5\ub9bd\ud574, \ub9ce\uc740<a href=\"#FunctionSection\">\ud568\uc218<\/a>\ub97c \uc0ac\uc6a9\ud574 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc758 \uc870\ud68c \ubc0f \uc81c\uc5b4\ub97c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac1c\uac1c\uc758 \uc5d0\uc774\uc804\ud2b8\ub294 \ub3d9\uc77c\ud55c \ud504\ub85c\uc138\uc2a4\ub85c \uc2e4\ud589\ub418\uc5b4 \uac80\uc0ac \ub300\uc0c1\uc758 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\ub294 \uac00\uc0c1 \uba38\uc2e0\uacfc \uc9c1\uc811 \ud1b5\uc2e0\ud569\ub2c8\ub2e4. \uc774 \ud1b5\uc2e0\uc5d0\ub294, \ub124\uc774\ud2f0\ube0c \uc778\ud130\ud398\uc774\uc2a4 (JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI)\uac00 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ub124\uc774\ud2f0\ube0c\uc758 \uc778 \ud504\ub85c\uc138\uc2a4 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \uc758\ud574, \ud234\uce21\uc5d0\uac8c\ub85c\uc758 \uce68\uc785\uc740 \ucd5c\uc18c\ud55c\uc73c\ub85c \uc5b5\uc81c\ud558\uba74\uc11c, \ucd5c\ub300\ud55c\uc758 \uc81c\uc5b4\uac00 \uac00\ub2a5\ud558\uac8c \ub429\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc5d0\uc774\uc804\ud2b8\ub294 \ube44\uad50\uc801 \ucef4\ud329\ud2b8\ud569\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294, \ud0c0\uac9f \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc77c\ubc18\uc801\uc73c\ub85c\uc758 \uc2e4\ud589\uc744 \ubc29\ud574\ud558\ub294 \uc77c \uc5c6\uc774, \ud234\uc758 \uae30\ub2a5\uc758 \ub300\ubd80\ubd84\uc744 \uad6c\ud604\ud558\ub294 \ub2e4\ub978 \ud504\ub85c\uc138\uc2a4\uc5d0 \uc758\ud574 \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"architecture\">\uc544\ud0a4\ud14d\uccd0(architecture)<\/h4>\n\n<p>\ud234\uc5d0\uc758 \uae30\uc785\uc740, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub97c \uc0ac\uc6a9\ud574 \uc9c1\uc811 \ud589\ud574\uc9c0\ub294\uc9c0, Java \ud50c\ub7ab\ud3fc \ud234 \uc544\ud0a4\ud14d\uccd0(architecture)\uc758 \uace0\ub3c4 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uac04\uc811\uc801\uc73c\ub85c \ud589\ud574\uc9d1\ub2c8\ub2e4. Java Platform Debugger Architecture \uc5d0\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc678\uc5d0, \ubcf4\ub2e4 \ub192\uc740 \ub808\ubca8\uc758 \uc544\uc6c3 \ud504\ub85c\uc138\uc2a4 \ub514\ubc84\uac70 \uc778\ud130\ud398\uc774\uc2a4\ub3c4 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub9ce\uc740 \ud234\uc5d0\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ubcf4\ub2e4 \ub192\uc740 \ub808\ubca8\uc758 \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc801\ud569\ud569\ub2c8\ub2e4. Java Platform Debugger Architecture \uc758 \uc0c1\uc138\ud55c \uac83\uc5d0 \ub300\ud558\uc5ec\ub294,<a href=\"http:\/\/java.sun.com\/products\/jpda\/\">Java Platform Debugger Architecture \uc758 Web \uc0ac\uc774\ud2b8<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<h4 id=\"writingAgents\">\uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc131<\/h4>\n\n<p>\uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc131\uc5d0\ub294, \uac01\uc885 \uaddc\uce59\uacfc C\/C++ \uc758 \uc815\uc758\ub97c \ud638\ucd9c\ud558\ub294 C \uc5b8\uc5b4\ub97c \uc9c0\uc6d0\ud558\ub294 \uc784\uc758\uc758 \ub124\uc774\ud2f0\ube0c \uc5b8\uc5b4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \ud544\uc694\ud55c \ud568\uc218, \uc774\ubca4\ud2b8, \ub370\uc774\ud130\ud615, \uc815\uc218\uc758 \uc815\uc758\ub294, \uc778\ud074\ub8e8\ub4dc \ud30c\uc77c <code>jvmti.h<\/code> \ub85c \uc815\uc758\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc815\uc758\ub97c \uc0ac\uc6a9\ud558\ub824\uba74 , J2SE<sup style=\"font-size: xx-small\">TM<\/sup> \uc778\ud074\ub8e8\ub4dc \ub514\ub809\ud1a0\ub9ac\ub97c \uc778\ud074\ub8e8\ub4dc \ud328\uc2a4\uc5d0 \ucd94\uac00\ud574,<\/p>\n\n<blockquote>\n<pre>\n#include &lt;jvmti.h&gt;\n    <\/pre>\n<\/blockquote>\n\n<p>(\uc744)\ub97c \uc6d0\uc2dc \ucf54\ub4dc\uc5d0 \ucd94\uac00\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<h4 id=\"deployingAgents\">\uc5d0\uc774\uc804\ud2b8\uc758 \ubc30\uce58<\/h4>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294 \ud50c\ub7ab\ud3fc \uace0\uc720\uc758 \ubc29\ubc95\uc73c\ub85c \ubc30\uce58\ub429\ub2c8\ub2e4\ub9cc, \uc77c\ubc18\uc801\uc73c\ub85c\uc740 \uadf8 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \ub2e4\uc774\ub098\ubbf9 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc0c1\ub2f9\ud558\ub294 \uac83\uc774 \ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, Windows<sup style=\"font-size: xx-small\">TM<\/sup> operating system\uc758 \uacbd\uc6b0, \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \u300c\ub3d9\uc801 \ub9c1\ud06c \ub77c\uc774\ube0c\ub7ec\ub9ac\u300d(DLL)\uc774 \ub429\ub2c8\ub2e4. Solaris<sup style=\"font-size: xx-small\">TM<\/sup> \uc624\ud37c\ub808\uc774\ud305(operating) \ud658\uacbd\uc758 \uacbd\uc6b0, \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \uacf5\uc720 \uac1d\uccb4 (<code>. so<\/code> \ud30c\uc77c)\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>VM \uae30\ub3d9\uc2dc\uc5d0 \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud558\ub824\uba74 ,<a href=\"#starting\">\ucee4\uba58\ub4dc\ud589 \uc635\uc158<\/a>\uc744 \uc0ac\uc6a9\ud574 \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uc774\ub984\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. \uad6c\ud604\uc5d0 \ub530\ub77c\uc11c\ub294, \ub77c\uc774\ube0c<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0\uc11c<a href=\"#onattach\">\uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9<\/a>\ud558\ub294 \uae30\uad6c\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uae30\ub3d9 \ubc29\ubc95\uc758 \uc790\uc138\ud55c \uac83\uc740, \uad6c\ud604\uc5d0 \uace0\uc720\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"starting\">JVMTI \uc5d0\uc774\uc804\ud2b8\uc758 \ucee4\uba58\ub4dc\ud589 \uc635\uc158<\/h4>\n\n<p>\uc774\ud558\uc758 \u300c\ucee4\uba58\ub4dc\ud589 \uc635\uc158\u300d\uc774\ub77c\uace0 \ud558\ub294 \ub9d0\uc740, JNI \ud638\ucd9c API \uc758 <code>JNI_CreateJavaVM<\/code> \ud568\uc218\uc5d0 \ub300\ud574,<code>JavaVMInitArgs<\/code> \uc778\uc218\ub85c \uc9c0\uc815\ub418\ub294 \uc635\uc158\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub97c \uc801\uc808\ud788 \ub85c\ub4dc\ud574 \uc2e4\ud589\ud558\ub824\uba74 , VM \uc758 \uae30\ub3d9\uc2dc\uc5d0 \ub2e4\uc74c\uc758 \uba87\uac1c\uc758 \ucee4\uba58\ub4dc\ud589 \uc635\uc158\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc778\uc218\ub294, \uc5d0\uc774\uc804\ud2b8\ub97c \ud3ec\ud568\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \uae30\ub3d9\uc2dc\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \uc635\uc158\uc758 \uce90\ub9ad\ud130 \ub77c\uc778\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n<dl>\n    <dt><code>-agentlib:<\/code><i>&lt;agent-lib-name&gt;<\/i><code>=<\/code><i>&lt;options&gt;<\/i><\/dt>\n <dd><code>-agentlib:<\/code> \uc758 \ub4a4\uc5d0\ub294, \ub85c\ub4dc\ud558\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uc774\ub984\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \ud480\ub124\uc784\uacfc \uc7a5\uc18c\uc758 \uac80\uc0c9 \ubc29\ubc95\uc740, \ud50c\ub7ab\ud3fc\uc5d0 \ub530\ub77c\uc11c \ub2e4\ub985\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c,<i>&lt;agent-lib-name&gt;<\/i> \ub294, operating system \uace0\uc720\uc758 \ud30c\uc77c\uba85\uc5d0 \uc804\uac1c\ub429\ub2c8\ub2e4. <i><options><\/options><\/i> (\uc740)\ub294, \uae30\ub3d9\uc2dc\uc5d0 \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \uac74\ub124\uc9d1\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc635\uc158 <code>-agentlib:foo=opt1, opt2<\/code> \uac00 \uc9c0\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0, VM \ub294, Windows<sup><font size=\"-2\">TM<\/font><\/sup> \uc5d0\uc11c\ub294 \uc2dc\uc2a4\ud15c \ud328\uc2a4 <code>PATH<\/code> \ub85c\ubd80\ud130 \uacf5\uc720 \ub77c\uc774\ube0c\ub7ec\ub9ac <code>foo.dll<\/code> \ub97c \ub85c\ub4dc\ud558\ub824\uace0 \ud569\ub2c8\ub2e4. Solaris<sup><font size=\"-2\">TM<\/font><\/sup> \uc624\ud37c\ub808\uc774\ud305(operating) \ud658\uacbd\uc5d0\uc11c\ub294,<code>LD_LIBRARY_PATH<\/code> \ub85c\ubd80\ud130 <code>libfoo.so<\/code> \ub97c \ub85c\ub4dc\ud558\ub824\uace0 \ud569\ub2c8\ub2e4.<\/dd>\n <dt><code>-agentpath:<\/code><i>&lt;path-to-agent&gt;<\/i><code>=<\/code><i>&lt;options&gt;<\/i><\/dt>\n <dd><code>-agentpath:<\/code> \uc758 \ub4a4\uc5d0\ub294, \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ub85c\ub4dc\ud558\ub294 \uc808\ub300 \ud328\uc2a4\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. \ub77c\uc774\ube0c\ub7ec\ub9ac\uba85\uc758 \uc804\uac1c\ub294 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <i><options><\/options><\/i> (\uc740)\ub294, \uae30\ub3d9\uc2dc\uc5d0 \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \uac74\ub124\uc9d1\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc635\uc158 <code>-agentpath:c:\\myLibs\\foo.dll=opt1, opt2<\/code> \uac00 \uc9c0\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0, VM \ub294, \uacf5\uc720 \ub77c\uc774\ube0c\ub7ec\ub9ac <code>c:\\myLibs\\foo.dll<\/code> \ub97c \ub85c\ub4dc\ud558\ub824\uace0 \ud569\ub2c8\ub2e4.<\/dd>\n<\/dl>\n\n<p>\ub77c\uc774\ube0c\ub7ec\ub9ac\ub0b4\uc758 \uae30\ub3d9 \ub8e8\ud2f4 <a href=\"#onload\"><code>Agent_OnLoad<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation (bytecode instrumentation)<\/a> \uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ud544\uc694\ud55c \uacbd\uc6b0, \ud234\ub0b4\uc5d0\uc11c Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uae30 \uc27d\uac8c\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0),<code>-agentlib:<\/code> \ub610\ub294 <code>-agentpath:<\/code> \ub97c \uc9c0\uc815\ud574 \ub85c\ub4dc \ub41c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c\ubd80\ud130, JNI \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uad6c\ud604\uc774 \uac80\uc0c9\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294, \uadf8 \uc678\uc758 \ubaa8\ub4e0 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uac80\uc0c9\ub41c \ub4a4 \uac80\uc0c9\ub429\ub2c8\ub2e4. \ube44\uc5d0\uc774\uc804\ud2b8 \uba54\uc18c\ub4dc\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uad6c\ud604\uc744 \ub367\uc4f0\uae30 \ub610\ub294 \ucc28\ub2e8\ud558\ub294 \uc5d0\uc774\uc804\ud2b8\ub294,<a href=\"#NativeMethodBind\">NativeMethodBind \uc774\ubca4\ud2b8<\/a>\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ub7ec\ud55c \uc2a4\uc717\uce58\ub294, \uc0c1\uae30\uc758 \ucc98\ub9ac\ub9cc\uc744 \uc2e4\uc2dc\ud569\ub2c8\ub2e4. VM \ub098 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc0c1\ud0dc\ub97c \ubcc0\uacbd\ud560 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub098 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uc77c\ubd80\ub97c \uc720\ud6a8\ud558\uac8c \ud558\ub294 \ucc98\ub9ac\ub294,<a href=\"#capability\">\uad8c\ud55c (capability)<\/a> \uc5d0 \uc758\ud574, \ud504\ub85c\uadf8\ub7a8\uc744 \ud1b5\ud574 \ud589\ud574\uc9d1\ub2c8\ub2e4. \ucee4\uba58\ub4dc\ud589 \uc635\uc158\uc740 \ud544\uc694 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"startup\">\uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9<\/h4>\n\n<p>VM \ub294, \uae30\ub3d9 \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \uac01 \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud569\ub2c8\ub2e4. <code>OnLoad<\/code> <a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0\uc11c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud558\ub294 \uacbd\uc6b0\ub294, \ud568\uc218 <a href=\"#onload\"><code>Agent_OnLoad<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \ub77c\uc774\ube0c<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0\uc11c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud558\ub294 \uacbd\uc6b0\ub294, \ud568\uc218 <a href=\"#onattach\"><code>Agent_OnAttach<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \uae30\ub3d9 \ud568\uc218\uc758 \ud638\ucd9c\uc740, \uc5d0\uc774\uc804\ud2b8 \ub9c8\ub2e4 1 \ud68c\ub9cc \ud589\ud574\uc9d1\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"onload\">\uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 (OnLoad \ub2e8\uacc4)<\/h4>\n\n<p><code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud558\ub294 \uacbd\uc6b0, \uadf8 \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ub2e4\uc74c\uc758 prototype\ub97c \uac00\uc9c0\ub294 \uae30\ub3d9 \ud568\uc218\ub97c export \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nJNIEXPORT jint JNICALL\nAgent_OnLoad(JavaVM *vm, char *options, void *reserved)<\/pre>\n<\/blockquote>\n\n<p>VM \ub294, \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud569\ub2c8\ub2e4. \uc774 \ud638\ucd9c\uc740 VM \ucd08\uae30\ud654\uc758 \ube60\ub978 \ub2e8\uacc4\uc5d0\uc11c \ud589\ud574\uc9c0\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \ub2e4\uc74c \uc77c\uc744 \ub9d0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li><a href=\"#SetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0<\/a>\uc740,VM \uc758 \uae30\ub3d9\uc73c\ub85c \uc0ac\uc6a9\ub418\uae30 \uc804\uc73c\ub85c \uc124\uc815\ud560 \uc218 \uc788\ub2e4<\/li>\n   <li>\ubaa8\ub4e0<a href=\"#capability\">\uad8c\ud55c<\/a>\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4 (\ub2e4\ub9cc, VM \ub97c \uad6c\uc131\ud558\ub294 \uad8c\ud55c\uc740 \uc774 \ub54c \ubc16\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4. \uc790\uc138\ud55c \uac83\uc740<a href=\"#capability\">\u300c\uad8c\ud55c \ud568\uc218\u300d\uc139\uc158<\/a>\uc744 \ucc38\uc870)<\/li>\n   <li>\ubc14\uc774\ud2b8 \ucf54\ub4dc\uac00 \uc2e4\ud589\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4<\/li>\n <li>\ud074\ub798\uc2a4\uac00 \ub85c\ub4dc\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4<\/li>\n  <li>\uac1d\uccb4\uac00 \uc791\uc131\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>VM \ub294, 2 \ubc88\uc9f8\uc758 \uc778\uc218\ub85c\uc11c <i><options><\/options><\/i> \ub97c \uc9c0\uc815\ud574 <code>Agent_OnLoad<\/code> \ud568\uc218\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. \uc989, \ucee4\uba58\ub4dc\ud589 \uc635\uc158\uc758 \uc608\ub97c \uc0ac\uc6a9\ud574,<code>&quot;opt1, opt2&quot;<\/code> \ub294 <code>Agent_OnLoad<\/code> \uc758 <code>char *options<\/code> \uc778\uc218\uc5d0\uac8c \uac74\ub124\uc9d1\ub2c8\ub2e4. <code>options<\/code> \uc778\uc218\ub294,<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub429\ub2c8\ub2e4. <i>=<options><\/options><\/i> \ud558\uc9c0\ub9cc \uc9c0\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0,<code>options<\/code> \uc5d0\ub294 \uae38\uc774 0 \uc758 \uce90\ub9ad\ud130 \ub77c\uc778\uc774 \uac74\ub124\ubc1b\uc2b5\ub2c8\ub2e4. <code>options<\/code> \uce90\ub9ad\ud130 \ub77c\uc778\uc740,<code>Agent_OnLoad<\/code> \ud638\ucd9c\ub3d9\uc548 \uc720\ud6a8\ud569\ub2c8\ub2e4. \ud544\uc694\ud55c \uacbd\uc6b0\ub294, \uc774 \uae30\uac04\uc774 \uc9c0\ub098\ub3c4, \uce90\ub9ad\ud130 \ub77c\uc778 \ub610\ub294 \uce90\ub9ad\ud130 \ub77c\uc778\uc758 \uc77c\ubd80\ub97c \uce74\ud53c\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. <code>Agent_OnLoad<\/code> \uac00 \ubd88\ub824 \uac00\uace0 \ub098\uc11c \uc885\ub8cc\ud560 \ub54c\uae4c\uc9c0\uc758 \uae30\uac04\uc744 \u300c\ub85c\ub4dc \ub2e8\uacc4\u300d\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4. VM \ub294 \ub85c\ub4dc<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0\uc11c\ub294 \ucd08\uae30\ud654\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0,<code>Agent_OnLoad<\/code> \ub0b4\ubd80\uc5d0\uc11c \ud5c8\uac00\ub41c \uc870\uc791\uc740 \ud55c\uc815\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4 (\uc774 \uc2dc\uc810\uc5d0\uc11c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uae30\ub2a5\uc5d0 \ub300\ud574\uc11c\ub294 \ud568\uc218\uc758 \uc124\uba85\uc744 \ucc38\uc870). \uc5d0\uc774\uc804\ud2b8\ub97c \uc548\uc804\ud558\uac8c \uc2e4\ud589\ud560 \uc218 \uc788\ub294 \uac83\uc740, \uc635\uc158\uc758 \ucc98\ub9ac\ub098,<a href=\"#SetEventCallbacks\"><code>SetEventCallbacks<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc744 \uc124\uc815\ud558\ub294 \ucc98\ub9ac\uc785\ub2c8\ub2e4. VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8\ub97c \ubc1b\uace0 \ub098\uc11c (\uc989,<a href=\"#VMInit\">VMInit<\/a> \ucf5c\ubc31\uc774 \ubd88\ub824 \uac00\uace0 \ub098\uc11c), \uc5d0\uc774\uc804\ud2b8\ub294 \ucd08\uae30\ud654\ub97c \uc644\ub8cc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p style=\"color: purple\">\uc6d0\ub9ac\uc758 \uc124\uba85: \ube60\ub978 \ub2e8\uacc4\uc5d0\uc11c\uc758 \uae30\ub3d9\uc774 \ud544\uc694\ud55c \uac83\uc740, \uc5d0\uc774\uc804\ud2b8\uac00 \ud544\uc694\ud55c \uad8c\ud55c\uc744 \uc124\uc815\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774) \ud558\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0\uc785\ub2c8\ub2e4. \ub9ce\uc740 \uad8c\ud55c\uc740, VM \uc758 \ucd08\uae30\ud654\uc804\uc73c\ub85c \uc124\uc815\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. JVMDI \uc5d0\uc11c\ub294, -Xdebug \ucee4\uba58\ub4dc\ud589 \uc635\uc158\uc73c\ub85c \uad8c\ud55c\uc744 \uc81c\uc5b4\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc, \uc774 \uc81c\uc5b4\ub294 \ub9e4\uc6b0 \ub300\ubc94\ud55c \uac83\uc785\ub2c8\ub2e4. JVMPI \uad6c\ud604\uc740, \ub2e4\uc591\ud55c \ud14c\ud06c\ub2c9\uc744 \uc0ac\uc6a9\ud574 \ub2e8\uc77c\uc758 \u300cJVMPI \uc628\u300d\uc2a4\uc717\uce58\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \ud544\uc694\ud55c \uad8c\ud55c\uacfc \ud37c\ud3ec\uba3c\uc2a4\uc5d0\uc758 \uc601\ud5a5\uc758 \ubc38\ub7f0\uc2a4\ub97c \ucde8\ud558\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ud544\uc694\ud55c \uc138\uc138\ud55c \uc81c\uc5b4\ub97c \uc81c\uacf5\ud558\ub294\ub370 \uc801\ud569\ud55c \ucee4\uba58\ub4dc\ud589 \uc635\uc158\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ube60\ub978 \ub2e8\uacc4\uc5d0\uc11c\uc758 \uae30\ub3d9\uc5d0\ub294, \uc5d0\uc774\uc804\ud2b8\uac00 \uac01\uc885 \uae30\ub2a5\uc744 \uc778\uc2a4\ud1a8 \ud558\uae30 \uc704\ud55c(\ud574), \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc774\ub098 \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc73c\ub85c \ubcc0\uacbd\uc744 \ub354\ud574 \uc2e4\ud589 \ud658\uacbd\uc744 \uc81c\uc5b4\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774) \ud558\ub294 \ubaa9\uc801\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>Agent_OnLoad<\/code> \uc758 \ubc18\ud658\uac12\uc740, \uc5d0\ub7ec\ub97c \ub098\ud0c0\ub0b4\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc81c\ub85c \uc774\uc678\uc758 \uac12\uc740 \uc5d0\ub7ec\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\uba74(\uc790), VM \ub294 \uc885\ub8cc\ud569\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"onattach\">\uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 (\ub77c\uc774\ube0c \ub2e8\uacc4)<\/h4>\n\n<p>VM \uc5d0 \ub530\ub77c\uc11c\ub294, \uadf8 VM \ub0b4\uc5d0\uc11c \ub77c\uc774\ube0c<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0\uc11c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud558\ub294 \uae30\uad6c\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc9c0\uc6d0 \ubc29\ubc95\uc758 \uc790\uc138\ud55c \uac83\uc740, \uad6c\ud604\uc5d0 \uace0\uc720\uac00 \ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc5b4\ub290 \ud234\uc5d0\uc11c\ub294, \ud558\ub4f1\uc758 \ud50c\ub7ab\ud3fc \uace0\uc720\uc758 \uae30\uad6c\ub098 \uad6c\ud604 \uace0\uc720\uc758 API \ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc73c\ub85c, \uc2e4\ud589\uc911\uc758 VM \uc5d0 \uc811\uc18d\ud574 \ud2b9\uc815\uc758 \uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9\uc744 \uc694\uad6c\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud558\ub294 \uacbd\uc6b0, \uadf8 \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ub2e4\uc74c\uc758 prototype\ub97c \uac00\uc9c0\ub294 \uae30\ub3d9 \ud568\uc218\ub97c export \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nJNIEXPORT jint JNICALL\nAgent_OnAttach(JavaVM* vm, char *options, void *reserved)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>VM \ub294, \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud569\ub2c8\ub2e4. \uc774 \ud638\ucd9c\uc740, VM \uc5d0 \uc811\uc18d\ub41c thread\uc758 \ubb38\ub9e5\ub0b4\uc5d0\uc11c \ud589\ud574\uc9d1\ub2c8\ub2e4. \uc81c 1 \uc778\uc218\uc758 \uac83 <i><vm><\/vm><\/i> \uc740, Java VM \uc785\ub2c8\ub2e4. <i><options><\/options><\/i> \uc778\uc218\ub294, \uc5d0\uc774\uc804\ud2b8\ub85c \uc9c0\uc815\ub41c \uae30\ub3d9 \uc635\uc158\uc785\ub2c8\ub2e4. <i><options><\/options><\/i> (\uc740)\ub294,<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub429\ub2c8\ub2e4. \uae30\ub3d9 \uc635\uc158\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\ub358 \uacbd\uc6b0,<code>options<\/code> \uc5d0\ub294 \uae38\uc774 0 \uc758 \uce90\ub9ad\ud130 \ub77c\uc778\uc774 \uac74\ub124\ubc1b\uc2b5\ub2c8\ub2e4. <code>options<\/code> \uce90\ub9ad\ud130 \ub77c\uc778\uc740,<code>Agent_OnAttach<\/code> \ud638\ucd9c\ub3d9\uc548 \uc720\ud6a8\ud569\ub2c8\ub2e4. \ud544\uc694\ud55c \uacbd\uc6b0\ub294, \uc774 \uae30\uac04\uc774 \uc9c0\ub098\ub3c4, \uce90\ub9ad\ud130 \ub77c\uc778 \ub610\ub294 \uce90\ub9ad\ud130 \ub77c\uc778\uc758 \uc77c\ubd80\ub97c \uce74\ud53c\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c\ub294<a href=\"#capability\">\uad8c\ud55c<\/a>\uc758 \uc77c\ubd80\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>Agent_OnAttach<\/code> \ud568\uc218\ub294, \uc5d0\uc774\uc804\ud2b8\ub97c \ucd08\uae30\ud654\ud574, \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\ub294\uc9c0\uc758 \uc5ec\ubd80\ub97c \ub098\ud0c0\ub0b4\ub294 \uac12\uc744 VM \uc5d0 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc81c\ub85c \uc774\uc678\uc758 \uac12\uc740 \ubaa8\ub450, \uc5d0\ub7ec\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud574\ub3c4 VM \ub294 \uc885\ub8cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc2e0\uc5d0 VM \ub294, \uadf8 \uc5d0\ub7ec\ub97c \ubb34\uc2dc\ud558\ub294\uc9c0, \uadf8 \uc5d0\ub7ec\ub97c \ud45c\uc900 \uc5d0\ub7ec\uc5d0 \ucd9c\ub825\ud558\uac70\ub098 \uc2dc\uc2a4\ud15c \ub85c\uadf8\uc5d0 \uae30\ub85d\ud558\uac70\ub098 \ud558\ub294 \ub4f1, \ud558\ub4f1\uc758 \uad6c\ud604 \uace0\uc720\uc758 \uc561\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"onunload\">\uc5d0\uc774\uc804\ud2b8\uc758 \uc815\uc9c0<\/h4>\n\n<p>\ub77c\uc774\ube0c\ub7ec\ub9ac\ub294, \uc635\uc158\uc73c\ub85c, \ub2e4\uc74c\uc758 prototype\ub97c \uac00\uc9c0\ub294 \uc815\uc9c0 \ud568\uc218\ub97c export \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nJNIEXPORT void JNICALL\nAgent_OnUnload(JavaVM *vm)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub294, \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uc5b8\ub85c\ub4dc\uc758 \uc9c1\uc804\uc5d0 VM \uc5d0 \uc758\ud574 \ubd88\ub824 \uac11\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc \uace0\uc720\uc758 \uae30\uad6c\uc5d0 \ubb38\uc81c\uac00 \uc788\ub294 \uacbd\uc6b0, \uc5b8\ub85c\ub4dc\uac00 \uc77c\uc73c\ucf1c\uc838 \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4 (\ubcf8\uc11c\uc5d0\uc11c\ub294 \uc5b8\ub85c\ub4dc \uae30\uad6c\ub294 \uc9c0\uc815\ud558\uc9c0 \uc54a\ub294\ub2e4). \uc815\uc0c1\uc801\uc778 \ucc98\ub9ac \ud639\uc740 VM \uc758 \uc7a5\ud574 (\uae30\ub3d9\uc2dc\uc758 \uc7a5\ud574\ub97c \ud3ec\ud568\ud55c\ub2e4)\uc5d0 \uc758\ud574 VM \uac00 \uc885\ub8cc\ub418\uc5c8\uc744 \uacbd\uc6b0, \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \uc2e4\uc81c\ub85c \uc5b8\ub85c\ub4dc\ub429\ub2c8\ub2e4. \ubb3c\ub860, \uc81c\uc5b4\ud560 \uc218 \uc5c6\ub294 \uc815\uc9c0\ub294, \uc774 \uaddc\uce59\uc5d0 \ub4e4\uc5b4\ub9de\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\uc640 <a href=\"#VMDeath\">VM Death \uc774\ubca4\ud2b8<\/a>\uc5d0\ub294 \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4. VM Death \uc774\ubca4\ud2b8\ub97c \uc1a1\uc2e0\ud558\uae30 \uc704\ud574\uc11c\ub294, \ucd08\uae30\ud654\uc804\uc5d0 VM \ub97c \uc2e4\ud589\ud588\ub358 \uc801\uc774 \uc788\uc5b4, VMDeath \uc758 \ucf5c\ubc31\uc744 \uc124\uc815\ud55c \uc720\ud6a8\ud55c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc774 \uc874\uc7ac\ud574, \uc774\ubca4\ud2b8\uac00 \uc720\ud6a8\ud558\uac8c \ub418\uc5b4 \uc788\uc744 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc870\uac74\uc740,<code>Agent_OnUnload<\/code> \uc5d0\ub294 \ubd88\ud544\uc694\ud569\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uadf8 \uc678\uc758 \uc774\uc720\uc5d0 \uc758\ud574 \uc5b8\ub85c\ub4dc\ub418\uc5c8\uc744 \ub54c\ub3c4 \ubd88\ub824 \uac11\ub2c8\ub2e4. VM Death \uc774\ubca4\ud2b8\ub294, \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac00\uae30 \uc804\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4 (\uc774 \ud568\uc218\uac00 VM \uc758 \uc885\ub8cc\uc5d0 \uc758\ud574 \ubd88\ub824 \uac00\ub294 \uacbd\uc6b0). \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud574, \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uc790\uc6d0\uc744 \ud074\ub9b0 \uc5c5 \ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"tooloptions\">JAVA_TOOL_OPTIONS<\/h4>\n\n<p>\ub9e4\uc785 VM \ub098 \ub2e8\uc9c0 \uc2a4\ud06c\ub9bd\ud2b8\ub0b4\uc758 \uae4a\uc740 \uc7a5\uc18c\uc5d0\uc11c \uae30\ub3d9\ub418\ub294 VM \ub4f1\uc5d0\uc11c\ub294, \ucee4\uba58\ub4dc\ud589\uc758 \uc561\uc138\uc2a4\ub098 \ubcc0\uacbd\uc774 \ud56d\uc0c1 \uac00\ub2a5\ud558\ub2e4\ub77c\uace0\ub294 \ud55c\uc815\ub418\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0,<code>JAVA_TOOL_OPTIONS<\/code> \ubcc0\uc218\uac00 \uc900\ube44\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc744 \uc0ac\uc6a9\ud558\uba74, \uadf8\ub7ec\ud55c \uacbd\uc6b0\uc5d0\uc11c\ub3c4 \uc5d0\uc774\uc804\ud2b8\ub97c \uae30\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud658\uacbd \ubcc0\uc218\ub098 \uadf8 \uc678\uc758 \uc774\ub984 \ucca8\ubd80 \uce90\ub9ad\ud130 \ub77c\uc778\uc744 \uc9c0\uc6d0\ud558\ub294 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub294,<code>JAVA_TOOL_OPTIONS<\/code> \ubcc0\uc218\uc5d0 \ub300\uc751\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubcc0\uc218\ub294, \uc635\uc158\uc744 \uacf5\ubc31 \ubb38\uc790\ub85c \ub2e8\ub77d\uc9c0\uc740 \uce90\ub9ad\ud130 \ub77c\uc778\uc785\ub2c8\ub2e4. \uacf5\ubc31 \ubb38\uc790\uc5d0\ub294, \uc2a4\ud398\uc774\uc2a4, \ud0ed, \ubcf5\uadc0 (CR), \ubcf5\uadc0 \uac1c\ud589 (NL), \uc218\uc9c1 \ud0ed, \uc6a9\uc9c0 \ubcf4\ub0b4 (FF)\ub4f1\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc5f0\uc18d\ud558\ub294 \uacf5\ubc31 \ubb38\uc790\ub294 \uacf5\ubc31 \ubb38\uc790 1 \ubb38\uc790\uc640 \uac19\ub2e4\ub77c\uace0 \ubcf4\uc785\ub2c8\ub2e4. \uc635\uc158\uc5d0 \uacf5\ubc31 \ubb38\uc790\ub97c \ud3ec\ud568\ud558\ub294 \uacbd\uc6b0\ub294, \uc778\uc6a9\ubd80\ud638\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \ub458\ub7ec\uc2f8 \uc8fc\uc138\uc694.<\/p>\n\n<ul type=\"disc\">\n   <li>\ud651\uacb9 \uc778\uc6a9\ubd80\ud638\uc758 \uc870 (&#39;&#39;)\uc5d0 \ub458\ub7ec\uc2f8\uc778, \ud651\uacb9 \uc778\uc6a9\ubd80\ud638\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790\ub294 \uc778\uc6a9\uc73c\ub85c\uc11c \ub458\ub7ec\uc2f8\uc778\ub2e4.<\/li>\n    <li>\ud651\uacb9 \uc778\uc6a9\ubd80\ud638\uc758 \uc870\uc758 \ub0b4\ubd80\uc5d0 \uc788\ub294 \uc774\uc911 \uc778\uc6a9\ubd80\ud638\uc5d0\ub294, \ud2b9\uc218\ud55c \uc758\ubbf8\ub294 \uc5c6\ub2e4.<\/li>\n  <li>\uc774\uc911 \uc778\uc6a9\ubd80\ud638\uc758 \uc870 (&#39;&#39;)\uc5d0 \ub458\ub7ec\uc2f8\uc778, \uc774\uc911 \uc778\uc6a9\ubd80\ud638\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790\ub294 \uc778\uc6a9\uc73c\ub85c\uc11c \ub458\ub7ec\uc2f8\uc778\ub2e4.<\/li>\n    <li>\uc774\uc911 \uc778\uc6a9\ubd80\ud638\uc758 \uc870\uc758 \ub0b4\ubd80\uc5d0 \uc788\ub294 \ud651\uacb9 \uc778\uc6a9\ubd80\ud638\uc5d0\ub294, \ud2b9\uc218\ud55c \uc758\ubbf8\ub294 \uc5c6\ub2e4.<\/li>\n  <li>\ubcc0\uc218\ub0b4\uc758 \uc784\uc758\uc758 \uc7a5\uc18c\ub97c \uc778\uc6a9\ubd80\ud638\ub85c \ub458\ub7ec\uc300 \uc218\uac00 \uc788\ub2e4.<\/li>\n  <li>\uc778\uc6a9\ubd80\ud638\ub85c \ub458\ub7ec\uc2f8\uc778 \uacf5\ubc31 \ubb38\uc790\uc5d0\ub294, \ud2b9\uc218\ud55c \uc758\ubbf8\ub294 \uc5c6\ub2e4. \uadf8 \uc678\uc758 \ubb38\uc790\uc640 \uac19\uac8c \uc635\uc158\uc5d0 \ud3ec\ud568\ud560 \uc218\uac00 \uc788\uc5b4 \ub2e8\ub77d \ubb38\uc790\ub85c\uc11c \uae30\ub2a5\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n    <li>\uc778\uc6a9\ubd80\ud638\uc758 \uc870\uc790\uccb4\ub294 \uc635\uc158\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<\/ul>\n\n<p><code>JNI_CreateJavaVM<\/code> (JNI \ud638\ucd9c API \ub0b4)\ub294, \uc774\ub7ec\ud55c \uc635\uc158\uc744 \uadf8 <code>JavaVMInitArgs<\/code> \uc778\uc218\ub85c \uc9c0\uc815\ub41c \uc635\uc158\uc758 \uc120\ub450\uc5d0 \ubd80\uac00\ud569\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc\uc5d0 \ub530\ub77c\uc11c\ub294, \uc2dc\ud050\ub9ac\ud2f0\uc0c1\uc758 \uc774\uc720\ub85c\uc368 \uc774 \uae30\ub2a5\uc744 \ubb34\ud6a8\ub85c \ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ub808\ud37c\ub7f0\uc2a4 \uad6c\ud604\uc5d0\uc11c\ub294, \uc720\ud6a8\ud55c \uc0ac\uc6a9\uc790 \ub610\ub294 \uadf8\ub8f9\uc758 ID \uac00 \uc2e4\uc81c\uc758 ID \uc640 \ub2e4\ub978 \uacbd\uc6b0\uc5d0, Unix \uc2dc\uc2a4\ud15c\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc774 \ubb34\ud6a8\uac00 \ub429\ub2c8\ub2e4. \uc774 \uae30\ub2a5\uc740 \ud234\uc758 \ucd08\uae30\ud654, \ud2b9\ud788 \ub124\uc774\ud2f0\ube0c \ub610\ub294 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9\uc744 \uc9c0\uc6d0\ud558\uae30 \uc704\ud55c\uc758 \uac83\uc785\ub2c8\ub2e4. \ubcf5\uc218\uc758 \ud234\ub85c \uc774 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \ub54c\ubb38\uc5d0, \ubcc0\uc218\ub294 \ub367\uc4f0\uae30\ud558\uc9c0 \uc54a\uace0, \uc635\uc158\uc744 \ubcc0\uc218\uc5d0 \ucd94\uac00\ud558\ub3c4\ub85d \ud574 \uc8fc\uc138\uc694. \ubcc0\uc218\uac00 \ucc98\ub9ac\ub418\ub294 \uac83\uc740 JNI \ud638\ucd9c API \uc758 VM \uc791\uc131 \ud638\ucd9c\uc2dc\uc774\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uae30\ub3d9\uce21\uc774 \ucc98\ub9ac\ud558\ub294 \uc635\uc158 (VM \uc120\ud0dd \uc635\uc158\ub4f1)\uc740 \ub2e4\ub8e8\uc5b4\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"environments\">JVMTI \ud658\uacbd<\/h4>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc2a4\ud399\uc740, \ub3d9\uc2dc\uc5d0 \ubcf5\uc218\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc5d0\uc774\uc804\ud2b8\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \ud5c8\uac00\ud569\ub2c8\ub2e4. \uac01 \uc5d0\uc774\uc804\ud2b8\uc5d0\ub294 \uace0\uc720\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc744 \ud560\ub2f9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc989, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc0c1\ud0dc\ub294 \uc5d0\uc774\uc804\ud2b8 \ub9c8\ub2e4 \ucc28\uc774\uac00 \ub0a9\ub2c8\ub2e4. \uc5b4\ub290 \ud658\uacbd\uc73c\ub85c \ubcc0\uacbd\uc744 \ub354\ud574\ub3c4, \uadf8 \uc678\uc758 \ud658\uacbd\uc5d0 \uc601\ud5a5\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc5d0\ub294, \ub2e4\uc74c \uc0c1\ud0dc\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n <li><a href=\"#SetEventCallbacks\">\uc774\ubca4\ud2b8 \ucf5c\ubc31<\/a><\/li>\n   <li><a href=\"#SetEventNotificationMode\">\uc720\ud6a8\ud55c \uc774\ubca4\ud2b8\uc138\ud2b8<\/a><\/li>\n  <li><a href=\"#capability\">\uad8c\ud55c<\/a><\/li>\n <li><a href=\"#memory\">\uba54\ubaa8\ub9ac\uc758 \ud560\ub2f9\/\ud560\ub2f9 \ud574\uc81c \ud6c5<\/a><\/li>\n<\/ul>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc0c1\ud0dc\ub294 \ub3c5\ub9bd\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4\ub9cc, \uc5d0\uc774\uc804\ud2b8\ub294 VM \uc758 \uacf5\uc720 \uc0c1\ud0dc\ub97c \uac80\uc0ac\ud574, \ubcc0\uacbd\ud569\ub2c8\ub2e4. \ub610, \uc5d0\uc774\uc804\ud2b8\uac00 \uc2e4\ud589\ub418\ub294 \ub124\uc774\ud2f0\ube0c \ud658\uacbd\uc744 \uacf5\uc720\ud569\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \uc5b4\ub290 \uc5d0\uc774\uc804\ud2b8\uac00 \uadf8 \uc678\uc758 \uc5d0\uc774\uc804\ud2b8\uc758 \uc2e4\ud589 \uacb0\uacfc\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uac70\ub098 \uadf8 \uc678\uc758 \uc5d0\uc774\uc804\ud2b8\uc758 \uc2e4\ud328\uc758 \uc6d0\uc778\uc774 \ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc131\uc790\uc5d0\uac8c\ub294, \uc774 \uc5d0\uc774\uc804\ud2b8\uc640 \uadf8 \uc678\uc758 \uc5d0\uc774\uc804\ud2b8\uc640\uc758 \ud638\ud658\uc131\uc758 \ub808\ubca8\uc744 \uc9c0\uc815\ud560 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc740, \uc5d0\uc774\uc804\ud2b8\uac04\uc758 \uc545\uc601\ud5a5\uc744 \ub9c9\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubb38\uc81c\uc758 \ubc1c\uc0dd\uc744 \ub9c9\ub294 \uae30\uc220\uc5d0 \ub300\ud574\uc11c\ub294, \ubcf8\uc11c\uc5d0\uc11c\ub294 \uc124\uba85\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294, JNI \ud638\ucd9c API \ud568\uc218 <a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/technotes\/guides\/jni\/spec\/invocation.html#GetEnv\">GetEnv<\/a> \uc5d0 \uc778\ud130\ud398\uc774\uc2a4 ID \ub85c\uc11c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ubc84\uc83c \uc815\ubcf4\ub97c \uac74\ub124\uc8fc\ub294 \uac83\uc5d0 \uc758\ud574, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc744 \uc791\uc131\ud569\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc758 \uc791\uc131\uacfc \uc0ac\uc6a9\uc758 \uc0c1\uc138\ud55c \uac83\uc5d0 \ub300\ud558\uc5ec\ub294,<a href=\"#jvmtiEnvAccess\">\u300cJVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc758 \uc561\uc138\uc2a4\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694. \uc77c\ubc18\uc801\uc73c\ub85c, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740,<a href=\"#onload\"><code>Agent_OnLoad<\/code><\/a> \ub85c\ubd80\ud130 <code>GetEnv<\/code> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc5d0 \uc758\ud574 \uc791\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/h4>\n\n<p>\uc774 \uc778\ud130\ud398\uc774\uc2a4\ub294, \ud504\ub85c \ud30c\uc77c\ub9c1\uc744 \uc9c0\uc6d0\ud558\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub85c \ubc1c\uc0dd\ud558\ub294 \uc774\ubca4\ud2b8\uc758 \uc77c\ubd80\ub97c \ud3ec\ud568\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud574\ub2f9\ud558\ub294 \uc774\ubca4\ud2b8\ub85c\uc11c \uac1d\uccb4 \ud560\ub2f9 \uc774\ubca4\ud2b8\ub098 \ud480 \uc2a4\ud53c\ub4dc \uba54\uc18c\ub4dc \uc785\ub825\/\ucd9c\ub825 \uc774\ubca4\ud2b8\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc778\ud130\ud398\uc774\uc2a4\ub294, \ud0c0\uac9f \ud504\ub85c\uadf8\ub7a8\uc744 \uad6c\uc131\ud558\ub294 Java \uac00\uc0c1 \uba38\uc2e0\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc \uba85\ub839\uc744 \ubcc0\uacbd\ud558\ub294 \u300c\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation (bytecode instrumentation)\u300d\uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc774\ub7ec\ud55c \ubcc0\uacbd\uc5d0\uc11c\ub294, \uba54\uc18c\ub4dc\uc758 \ucf54\ub4dc\uc5d0 \u300c\uc774\ubca4\ud2b8\u300d\uac00 \ucd94\uac00\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uba54\uc18c\ub4dc\uc758 \uc120\ub450\uc5d0,<code>MyProfiler.methodEntered()<\/code> \uc758 \ud638\ucd9c\uc774 \ucd94\uac00\ub429\ub2c8\ub2e4. \ubcc0\uacbd\uc740 \uc21c\uc218\ud558\uac8c \ucd94\uac00\uc774\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 \uc0c1\ud0dc\ub098 \ub3d9\uc791\uc744 \ubcc0\uacbd\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc0bd\uc785\ub418\ub294 \uc5d0\uc774\uc804\ud2b8 \ucf54\ub4dc\ub294 \ud45c\uc900 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc774\ubbc0\ub85c, VM \ub97c \ud480 \uc2a4\ud53c\ub4dc\ub85c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \ud0c0\uac9f \ud504\ub85c\uadf8\ub7a8 \ubfd0\ub9cc\uc774 \uc544\ub2c8\ub77c, Instrumentation\ub3c4 \ucd5c\uc801\ud654\ub429\ub2c8\ub2e4. Instrumentation\uc5d0 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc73c\ub85c\ubd80\ud130\uc758 \ubcc0\ud658\uc774 \ud3ec\ud568\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \ud6a8\uc728\uc774 \ub098\uc05c \uc0c1\ud0dc\uc758 \ubcc0\ud658\uc740 \ubd88\ud544\uc694\ud569\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, \uc774\ubca4\ud2b8\uc758 \ud37c\ud3ec\uba3c\uc2a4\ub294 \ub192\uc544\uc9d1\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc5d0\uc11c\ub294, \uc5d0\uc774\uc804\ud2b8\ub97c \uc644\uc804\ud558\uac8c \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Instrumentation\uc740, \ucf54\ub4dc\uc758 \u300c\uc911\uc694\ud55c\u300d\ubd80\ubd84 (\ucd5c\uc885 \uc0ac\uc6a9\uc790\uc758 \ucf54\ub4dc\ub4f1)\uc5d0 \ud55c\uc815 \uac00\ub2a5\ud574, \uc870\uac74\ubd80\ub85c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Instrumentation\uc740, \uc644\uc804\ud558\uac8c Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\ub0b4\uc5d0\uc11c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ub294, \ub124\uc774\ud2f0\ube0c \uc5d0\uc774\uc804\ud2b8\ub0b4\uc5d0\uc11c \ud638\ucd9c\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. Instrumentation\uc740, \uce74\uc6b4\ud130\ub97c \ubcf4\uad00 \uc720\uc9c0\ud560 \ubfd0(\ub9cc\ud07c)\uc758 \uc124\uc815\uc73c\ub85c \ud574\ub3c4, \uc774\ubca4\ud2b8\uc758 \ud1b5\uacc4 \uc0d8\ud50c\uc744 \ucde8\ud558\ub294 \uc124\uc815\uc73c\ub85c \ud574\ub3c4 \uad1c\ucc2e\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>Instrumentation\uc758 \uc0bd\uc785\uc740, \ub2e4\uc74c\uc758 3 \uc73c\ub85c \uc6b0\ub9ac \uac00\uc6b4\ub370 \uba87\uac1c\uc758 \ubc29\ubc95\uc73c\ub85c \uc2e4\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li>\uc815\uc801 Instrumentation: \ud074\ub798\uc2a4 \ud30c\uc77c\uc740 VM \uc5d0 \ub85c\ub4dc\ud558\uae30 \uc804\uc5d0 \uacc4\uce21 \ub429\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \uc608\ub97c \ub4e4\uc5b4, Instrumentation\uc744 \ucd94\uac00\ud558\uae30 \uc704\ud574\uc11c \ubcc0\uacbd\ub418\uc5c8\ub2e4 <code>*. class<\/code> \ud30c\uc77c\uc758 \uc911\ubcf5 \ub514\ub809\ud1a0\ub9ac\ub97c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc740 \ub9e4\uc6b0 \uadc0\ucc2e\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc5d0\uc774\uc804\ud2b8\ub294 \ub85c\ub4dc \ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ucd9c\ucc98(\uc18c)\ub97c \uc778\uc2dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n <li>\ub85c\ub4dc\uc2dc\uc758 Instrumentation: \ud074\ub798\uc2a4 \ud30c\uc77c\uc774 VM \uc5d0 \ub85c\ub4dc \ub420 \ub54c, \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 raw \ubc14\uc774\ud2b8\ub294, Instrumentation\uc6a9\uc73c\ub85c\uc11c \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \ud074\ub798\uc2a4\uc758 \ub85c\ub4dc\uc5d0 \uc758\ud574 \ubc1c\uc0dd\ud55c <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uac00, \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc740 \ud6a8\uc728\uc774 \uc88b\uace0, 1 \ud68c \ud55c\uc815\uc758 Instrumentation\uc5d0 \uc644\uc804\ud558\uac8c \uc561\uc138\uc2a4 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n  <li>\ub3d9\uc801 Instrumentation: \ubc8c\uc368 \ub85c\ub4dc \ub418\uc5b4 \uacbd\uc6b0\uc5d0 \ub530\ub77c\uc11c\ub294 \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uc77c\ub3c4 \uc788\ub294 \ud074\ub798\uc2a4\ub97c \ubcc0\uacbd\ud569\ub2c8\ub2e4. \uc774 \uc635\uc158 \uae30\ub2a5\uc740,<a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ud568\uc218\uc758 \ud638\ucd9c\uc5d0 \uc758\ud574 \ubc1c\uc0dd\ud55c <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub429\ub2c8\ub2e4. \ud074\ub798\uc2a4\ub294 \uba87\ud68c\uc5d0\uc11c\ub3c4 \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc6d0 \uc0c1\ud0dc\uc5d0 \ub418\ub3cc\ub9ac\ub294 \uac83\ub3c4 \uac04\ub2e8\ud569\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc5d0\uc11c\ub294, \uc2e4\ud589\uc911\uc758 Instrumentation\uc758 \ubcc0\uacbd\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \uc900\ube44\ub41c \ud074\ub798\uc2a4 \ubcc0\uacbd \uae30\ub2a5\uc740, Instrumentation\uc758 \uae30\uad6c\ub97c \uc81c\uacf5\ud574 (<a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uc640 <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ud568\uc218), \uac1c\ubc1c\uc2dc\uc5d0\ub294 \uc218\uc815\ud558\uba74\uc11c debug\ub97c \uacc4\uc18d\ud574 \uac00\ub294 (<a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ud568\uc218) \uc704\ud574(\ub54c\ubb38\uc5d0) \uc900\ube44\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc758\uc874\uad00\uacc4(dependencies)\uac00 \ud63c\ub780\ud558\uc9c0 \uc54a\uac8c, \ud2b9\ud788 \ucf54\uc5b4 \ud074\ub798\uc2a4\ub97c \uacc4\uce21 \ud558\ub294 \uacbd\uc6b0\ub294, \uc8fc\uc758\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uac01 \uac1d\uccb4 \ud560\ub2f9\uc758 \ud1b5\uc9c0\ub97c \ubc1b\ub294 \uc5b4\ud504\ub85c\uce58\uc5d0\uc11c\ub294,<code>Object<\/code> \ub85c \uc0dd\uc131\uc790 \uc744 \uacc4\uce21 \ud569\ub2c8\ub2e4. \uc0dd\uc131\uc790 \uc774 \ucc98\uc74c\uc740 \ube48 \uc0c1\ud0dc(empty)\uc774\ub2e4\uace0 \ud558\uba74(\uc790), \uc774 \uc0dd\uc131\uc790 \uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcc0\uacbd\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n      public Object() {\n        MyProfiler.allocationTracker(this);\n      }\n    <\/pre>\n<\/blockquote>\n\n<p>\uadf8\ub7ec\ub098,<a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud574 \uc774 \ubcc0\uacbd\uc744 \uc2e4\uc2dc\ud588\uc744 \uacbd\uc6b0\ub294, \uc77c\ubc18\uc801\uc73c\ub85c\uc758 VM \uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc601\ud5a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ucd5c\ucd08\ub85c \uc791\uc131\ub41c \uac1d\uccb4\uac00 \uc0dd\uc131\uc790 \uc744 \ud638\ucd9c\ud574,<code>MyProfiler<\/code> \uc758 \ud074\ub798\uc2a4\uac00 \ub85c\ub4dc \ub429\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574 \uac1d\uccb4\uac00 \uc791\uc131\ub429\ub2c8\ub2e4\ub9cc,<code>MyProfiler<\/code> \ub294 \uc544\uc9c1 \ub85c\ub4dc\ub418\uc5b4 \uc788\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0, \ubb34\ud55c \ud68c\uadc0\uac00 \ubc1c\uc0dd\ud574 \ubc84\ub824, \uc2a4\ud0dd \uc624\ubc84\ud50c\ub85c\uc6b0\uac00 \ub429\ub2c8\ub2e4. \uc774\uac83\uc744 \ubcc0\uacbd\ud574, \uc548\uc804\ud55c \ud0c0\uc774\ubc0d\uc774 \ub420 \ub54c\uae4c\uc9c0 \ud2b8\ub799\ud0b9 \uba54\uc18c\ub4dc\uc758 \ud638\ucd9c\uc744 \ub2a6\ucda5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 <code>trackAllocations<\/code> \ub97c <code>VMInit<\/code> \uc774\ubca4\ud2b8\uc758 \ud578\ub4e4\ub7ec\ub85c \uc124\uc815\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n      static boolean trackAllocations = false;\n\n      public Object() {\n        if (trackAllocations) {\n          MyProfiler.allocationTracker(this);\n        }\n      }\n    <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \ub97c \uc0ac\uc6a9\ud558\uba74, \ub798\ud37c \uba54\uc18c\ub4dc\uc5d0 \uc758\ud55c \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \uacc4\uce21\uc774 \uac00\ub2a5\ud574\uc9d1\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"mUTF\">\uc218\uc815 UTF-8 \uc758 \uce90\ub9ad\ud130 \ub77c\uc778 \uc778\ucf54\ub529<\/h4>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294, \uc218\uc815 UTF-8 \ub97c \uc0ac\uc6a9\ud574 \uce90\ub9ad\ud130 \ub77c\uc778\uc744 encode \ud569\ub2c8\ub2e4. \uc774\uac83\uc740, JNI \uac00 \uc0ac\uc6a9\ud558\ub294 \uac83\uacfc \uac19\uc740 \uc778\ucf54\ub529\uc785\ub2c8\ub2e4. \uc218\uc815 UTF-8 \uc640 \ud45c\uc900\uc758 UTF-8 \uc640\uc758 \ucc28\uc774\ub294, \ubcf4\uc870 \ubb38\uc790\uc640 null \ubb38\uc790\uc758 \ud45c\ud604 \ubc29\ubc95\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. \uc0c1\uc138\ud55c \uac83\uc5d0 \ub300\ud558\uc5ec\ub294, JNI \uc2a4\ud399\uc758 <a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/technotes\/guides\/jni\/spec\/types.html#wp16542\">\u300cModified UTF-8 Strings\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<h4 id=\"context\">\uc2a4\ud399\uc758 \ubb38\ub9e5<\/h4>\n\n<p>\uc774 \uc778\ud130\ud398\uc774\uc2a4\ub294 Java \uac00\uc0c1 \uba38\uc2e0\uc73c\ub85c \uc2e4\ud589\ub418\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 \uc0c1\ud0dc\uc5d0 \uc561\uc138\uc2a4 \ud558\uae30 \uc704\ud55c(\ud574), \uc6a9\uc5b4\ub294 Java<sup><font size=\"-2\">TM<\/font><\/sup> \ud50c\ub7ab\ud3fc\uc5d0 \uad00\ud55c \uac83\uc774\uba70, \ud2b9\ud788 \uc5b8\uae09\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\ub97c \uc81c\uc678\ud574 \ub124\uc774\ud2f0\ube0c \ud50c\ub7ab\ud3fc\uc5d0 \uad00\ud55c \uac83\uc774 \uc544\ub2d9\ub2c8\ub2e4. \uc608\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n <li>\u300cthread\u300d\ub294 Java<sup><font size=\"-2\">TM<\/font><\/sup> \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 thread\ub97c \uc758\ubbf8\ud55c\ub2e4.<\/li>\n   <li>\u300c\uc2a4\ud0dd \ud504\ub808\uc784\u300d\uc740 Java \uac00\uc0c1 \uba38\uc2e0\uc758 \uc2a4\ud0dd \ud504\ub808\uc784\uc744 \uc758\ubbf8\ud55c\ub2e4.<\/li>\n   <li>\u300c\ud074\ub798\uc2a4\u300d\ub294 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ud074\ub798\uc2a4\ub97c \uc758\ubbf8\ud55c\ub2e4.<\/li>\n <li>\u300cheap\u300d\ub294 Java \uac00\uc0c1 \uba38\uc2e0\uc758 heap\ub97c \uc758\ubbf8\ud55c\ub2e4.<\/li>\n <li>\u300c\ubaa8\ub2c8\ud130\u300d\ub294 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \uac1d\uccb4 \ubaa8\ub2c8\ud130\ub97c \uc758\ubbf8\ud55c\ub2e4.<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>Sun, Sun Microsystems, Sun \uc758 \ub85c\uace0, Java, \ubc0f JVM \ub294, \ubbf8\uad6d \ubc0f \uadf8 \uc678\uc758 \ub098\ub77c\uc5d0 \uc788\uc5b4\uc11c\uc758 \ubbf8\uad6d Sun Microsystems, Inc. \uc758 \ub4f1\ub85d\uc0c1\ud45c\uc785\ub2c8\ub2e4.<\/p>\n\n<p id=\"FunctionSection\">&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud568\uc218<\/h2>\n\n<h4 id=\"jvmtiEnvAccess\">JVMTI \ud568\uc218\uc758 \uc561\uc138\uc2a4<\/h4>\n\n<p>native code\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c \ud638\ucd9c\ud574 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uae30\ub2a5\uc5d0 \uc561\uc138\uc2a4 \ud569\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc5d0\ub294,<a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/technotes\/guides\/jni\/spec\/design.html\">Java Native Interface (JNI) \ud568\uc218<\/a>\uc758 \uc561\uc138\uc2a4\uc2dc\uc640 \uac19\uac8c, \uc778\ud130\ud398\uc774\uc2a4 \ud3ec\uc778\ud130\ub97c \uc0ac\uc6a9\ud574 \uc561\uc138\uc2a4 \ud569\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc778\ud130\ud398\uc774\uc2a4 \ud3ec\uc778\ud130\ub97c \u300c\ud658\uacbd \ud3ec\uc778\ud130\u300d\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud658\uacbd \ud3ec\uc778\ud130\ub294,<code>jvmtiEnv*<\/code> \ud615\uc758 \ud658\uacbd\uc5d0\uc758 \ud3ec\uc778\ud130\uc785\ub2c8\ub2e4. \ud658\uacbd\uc5d0\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc811\uc18d\uc5d0 \uad00\ud55c \uc815\ubcf4\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud658\uacbd\ub0b4\uc758 \ucd5c\ucd08\uc758 \uac12\uc740, \ud568\uc218 \ud14c\uc774\ube14\uc5d0\uc758 \ud3ec\uc778\ud130\uc785\ub2c8\ub2e4. \ud568\uc218 \ud14c\uc774\ube14\uc740, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc5d0\uc758 \ud3ec\uc778\ud130\uc758 \ubc30\uc5f4\uc785\ub2c8\ub2e4. \uc5b4\ub290 \ud568\uc218 \ud3ec\uc778\ud130\ub3c4 \ubc30\uc5f4\ub0b4\uc758 \uc0ac\uc804\uc5d0 \uc815\uc758\ub41c \uc624\ud504\uc14b(offset)\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>C \uc5b8\uc5b4\ub85c\ubd80\ud130 \uc0ac\uc6a9\ub418\ub294 \uacbd\uc6b0: \ud568\uc218\uc5d0\uc758 \uc561\uc138\uc2a4\uc2dc\uc5d0 \uc774\uc911 \uac04\uc811 \uc9c0\uc815\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc989 \ud658\uacbd \ud3ec\uc778\ud130\ub294, \ubb38\ub9e5\uc744 \uc81c\uacf5\ud568\uacfc \ud568\uaed8, \uac01 \ud568\uc218 \ud638\ucd9c\uc758 \ucd5c\ucd08\uc758 \ud30c\ub77c\ubbf8\ud130\uac00 \ub429\ub2c8\ub2e4. \ub2e4\uc74c\uc5d0 \uc608\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\njvmtiEnv *jvmti;\n...\njvmtiError err = (*jvmti)-&gt;GetLoadedClasses(jvmti, &amp;class_count, &amp;classes);\n    <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>C++ \uc5b8\uc5b4\ub85c\ubd80\ud130 \uc0ac\uc6a9\ub418\ub294 \uacbd\uc6b0: \uac01 \ud568\uc218\ub294 <code>jvmtiEnv<\/code> \uc758 \uba64\ubc84 \ud568\uc218\ub85c\uc11c \uc561\uc138\uc2a4 \ub418\uc5b4 \ud658\uacbd \ud3ec\uc778\ud130\uac00 \ud568\uc218 \ud638\ucd9c\uc5d0\uac8c \uac74\ub124\uc9c8 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc5d0 \uc608\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\njvmtiEnv *jvmti;\n...\njvmtiError err = jvmti-&gt;GetLoadedClasses(&amp;class_count, &amp;classes);\n    <\/pre>\n<\/blockquote>\n\n<p>\ud2b9\ud788 \uc9c0\uc815\ud558\uc9c0 \uc54a\ub294 \ud55c, \uc774 \uc2a4\ud399\uc5d0 \ud3ec\ud568\ub418\ub294 \uc608\ub098 \uc120\uc5b8\uc740 \ubaa8\ub450, C \uc5b8\uc5b4\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740, JNI \ud638\ucd9c API \uc758 <code>GetEnv<\/code> \ud568\uc218\ub97c \uc0ac\uc6a9\ud574 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\njvmtiEnv *jvmti;\n...\n(*jvm)-&gt;GetEnv(jvm, &amp;jvmti, JVMTI_VERSION_1_0);\n    <\/pre>\n<\/blockquote>\n\n<p><code>GetEnv<\/code> \ub97c \ud638\ucd9c\ud560 \ub54c\ub9c8\ub2e4, \uc0c8\ub85c\uc6b4 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc811\uc18d\uc774 \uc791\uc131\ub418\uc5b4 \uc0c8\ub85c\uc6b4 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc774 \uc791\uc131\ub429\ub2c8\ub2e4. <code>GetEnv<\/code> \ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud310\uc758 <code>version<\/code> \uc778\uc218\ub97c \ud544\uc694\ub85c \ud569\ub2c8\ub2e4. \ubc18\ud658\ub418\ub294 \ud658\uacbd\uc758 \ubc84\uc83c\uc774 \uc694\uad6c\ub41c \ubc84\uc83c\uacfc \ub2e4\ub974\uace0 \uc788\uc5b4\ub3c4, \uc694\uad6c\ub41c \ubc84\uc83c\uacfc \ud638\ud658\uc131\uc774 \uc788\uc73c\uba74, \ubb38\uc81c\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uac00 \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740\uc9c0, \ud604\uc7ac\uc758 VM \uad6c\uc131\uc73c\ub85c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uac00 \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \ud638\ud658 \ubc84\uc83c\uc744 \uc5bb\uc744 \uc218 \uc5c6\uc73c\uba74<code>GetEnv<\/code> \ub294 <code>JNI_EVERSION<\/code> \ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ud2b9\uc815\uc758 \ubb38\ub9e5\uc5d0\uc11c\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc744 \uc791\uc131\ud558\uae30 \uc704\ud574\uc11c \uadf8 \uc678\uc758 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ucd94\uac00\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac01 \ud658\uacbd\uc5d0\ub294, \uace0\uc720 \uc0c1\ud0dc\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<a href=\"#SetEventNotificationMode\">\ud544\uc218 \uc774\ubca4\ud2b8<\/a>,<a href=\"#SetEventCallbacks\">\uc774\ubca4\ud2b8 \ucc98\ub9ac \ud568\uc218<\/a>,<a href=\"#AddCapabilities\">\uad8c\ud55c <\/a>\ub4f1\uc785\ub2c8\ub2e4. \ud658\uacbd\uc740,<a href=\"#DisposeEnvironment\"><code>DisposeEnvironment<\/code><\/a> \uc5d0 \uc758\ud574 \ub9b4\ub9ac\uc2a4 \ub429\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, thread \ub9c8\ub2e4 \ud658\uacbd\uc744 \uac00\uc9c0\ub294 JNI \uacfc\ub294 \ub2ec\ub9ac, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740 \ub3d9\uc801\uc73c\ub85c \uc791\uc131\ub418\uc5b4 \ubcf5\uc218\uc758 thread\uc5d0 \uac78\uccd0 \uae30\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"functionReturn\">\ud568\uc218\uc758 \ubc18\ud658\uac12<\/h4>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub294, \ud56d\uc0c1 <a href=\"#jvmtiError\"><code>jvmtiError<\/code><\/a> \ud568\uc218\uc758 \ubc18\ud658\uac12\uc73c\ub85c\ubd80\ud130<a href=\"#ErrorSection\">\uc5d0\ub7ec \ucf54\ub4dc<\/a>\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ud568\uc218\uc5d0 \ub530\ub77c\uc11c\ub294, \ud638\ucd9c\uce21\uc758 \ud568\uc218\ub85c \uc9c0\uc815\ub41c \ud3ec\uc778\ud130\uc5d0 \uc758\ud574, \uc774\uc678\uc758 \uac12\uc744 \ub3cc\ub824\uc8fc\ub294 \uc77c\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud568\uc218\uc548\uc5d0\ub294 \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ud558\ub294 \uac83\uc774 \uc788\uc2b5\ub2c8\ub2e4\ub9cc, \uc774 \uacbd\uc6b0\ub294 \ud504\ub85c\uadf8\ub7a8\ub0b4\uc5d0\uc11c \uadf8 \uba54\ubaa8\ub9ac\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \ud574\uc81c\ud558\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4. \uc774\uac83\uc5d0 \ub300\ud574\uc11c\ub294, \uac1c\uac1c\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc758 \uc124\uba85\uc5d0 \uba85\uae30\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ube48 \uc0c1\ud0dc(empty)\uc758 \ub9ac\uc2a4\ud2b8, \ubc30\uc5f4, \uc21c\uc11c \ub4f1\uc740,<code>NULL<\/code> \ub85c\uc11c \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uac00 \uc5d0\ub7ec\uc5d0 \uc870\uc6b0\ud588\uc744 \uacbd\uc6b0\ub294 (\ubc18\ud658\uac12\uc774 <code>JVMTI_ERROR_NONE<\/code> \uc774\uc678), \uc778\uc218 \ud3ec\uc778\ud130\uc5d0 \uc758\ud574 \ucc38\uc870\ub418\ub294 \uba54\ubaa8\ub9ac\uce58\ub294 \ubbf8\uc815\ub3c4\ub9ac\uc785\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \uba54\ubaa8\ub9ac \ubc0f \uae00\ub85c\ubc8c \ucc38\uc870\ub294 \uc544\ubb34\uac83\ub3c4 \ud560\ub2f9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ubb34\ud6a8\uc778 \uc785\ub825\uc5d0 \uc758\ud574 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc744 \uacbd\uc6b0, \uc561\uc158\uc740 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"refs\">JNI \uac1d\uccb4 \ucc38\uc870\uc758 \uad00\ub9ac<\/h4>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub294, JNI \ucc38\uc870 (<a href=\"#jobject\"><code>jobject<\/code><\/a> \uc640 <a href=\"#jclass\"><code>jclass<\/code><\/a> )\uc640 \uadf8 \ud30c\uc0dd (<a href=\"#jthread\"><code>jthread<\/code><\/a> \uc640 <a href=\"#jthreadGroup\"><code>jthreadGroup<\/code><\/a> )\uc5d0 \uc758\ud574 \uac1d\uccb4\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ucc38\uc870\ub294, \uae00\ub85c\ubc8c\uc5d0\uc11c\ub3c4 \ub85c\uceec\uc5d0\uc11c\ub3c4 \uad1c\ucc2e\uc2b5\ub2c8\ub2e4\uac00, \uac15\ud55c \ucc38\uc870\uac00 \uc544\ub2c8\uba74 \uc548\ub429\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \ubaa8\ub4e0 \ucc38\uc870\ub294, \ub85c\uceec \ucc38\uc870\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ub85c\uceec \ucc38\uc870\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud638\ucd9c\uc2dc\uc5d0 \uc791\uc131\ub429\ub2c8\ub2e4. \ub85c\uceec \ucc38\uc870\ub294, \uad00\ub9ac \ub300\uc0c1\uc73c\ub85c \ud574\uc57c \ud560 \uc790\uc6d0\uc785\ub2c8\ub2e4 (<a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/guide\/jni\/spec\/functions.html#wp18654\">JNI \uc758 \uba54\ub274\uc5bc<\/a>\uc744 \ucc38\uc870). thread\uac00 native code\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uacbd\uc6b0, \ubaa8\ub4e0 \ub85c\uceec \ucc38\uc870\ub294 \ud574\uc81c\ub429\ub2c8\ub2e4. \uc804\ud615\uc801\uc778 \uc5d0\uc774\uc804\ud2b8 thread\ub97c \ud3ec\ud568\ud55c \uc77c\ubd80\uc758 thread\ub294, \uacb0\ucf54 native code\ub85c\ubd80\ud130\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac01 thread\ub294, \uba85\uc2dc\uc801 \uad00\ub9ac\uc5c6\uc774 16 \uac1c\uc758 \ub85c\uceec \ucc38\uc870\ub97c \uc791\uc131\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. native code\ub85c\ubd80\ud130 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uae30 \uc804\uc5d0, \ud55c\uc815\ub41c \uc218\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud638\ucd9c\uc744 \uc2e4\ud589\ud558\ub294 thread (\uc774\ubca4\ud2b8 \ucc98\ub9ac thread\ub4f1)\uc758 \uacbd\uc6b0, \uba85\uc2dc\uc801 \uad00\ub9ac\ub294 \ubd88\ud544\uc694\ud558\ub2e4\ub77c\uace0 \ud310\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \uc7a5\uc2dc\uac04 \uc2e4\ud589\ub418\ub294 \uc5d0\uc774\uc804\ud2b8 thread\ub294, \uba85\uc2dc\uc801 \ub85c\uceec \ucc38\uc870 \uad00\ub9ac\ub97c \ud544\uc694\ub85c \ud569\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc774 \uad00\ub9ac\uc5d0\ub294, JNI \ud568\uc218 <code>PushLocalFrame<\/code> \uc640 <code>PopLocalFrame<\/code> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ubc18\ub300\ub85c \ub9d0\ud558\uba74, native code\ub85c\ubd80\ud130 \ubc18\ud658\ub41c \ub4a4\ub3c4 \ucc38\uc870\ub97c \ubcf4\uc874\ud558\ub294 \uacbd\uc6b0\ub294, \uae00\ub85c\ubc8c \ucc38\uc870\ub85c \ubcc0\ud658\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uaddc\uce59\uc740 <a href=\"#jmethodID\"><code>jmethodID<\/code><\/a> \uc640 <a href=\"#jfieldID\"><code>jfieldID<\/code><\/a> \uc5d0\ub294 \uc801\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uac83\ub4e4\uc740 <a href=\"#jobject\"><code>jobject<\/code><\/a> \ub294 \uc544\ub2c8\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"prereqState\">\ud568\uc218 \ud638\ucd9c\uc758 \ud544\uc694 \uc870\uac74<\/h4>\n\n<p>\ud568\uc218\uc5d0, thread \ub610\ub294 VM \ub97c \ud2b9\uc815 \uc0c1\ud0dc (\uc911\ub2e8\ub4f1)\ub85c \ud558\ub294 \uac83\uc740 \uc5d0\uc774\uc804\ud2b8\uc774\ub77c\uace0 \uba85\uc2dc\uc801\uc73c\ub85c \uc9c0\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud55c, \ud568\uc218\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud574\uc11c VM \ub97c \uc77c\uc815\ud55c \uc548\uc804\ud55c \uc0c1\ud0dc\ub85c \ud558\ub294 \uac83\uc740, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"functionsExceptions\">\uc608\uc678\uc640 \ud568\uc218<\/h4>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub294 \uc608\uc678\ub97c throw \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc5d0\ub7ec \uc0c1\ud0dc\uc758 \uc804\ub2ec\uc740,<a href=\"#functionReturn\">\ud568\uc218\uc758 \ubc18\ud658\uac12<\/a>\uc744 \uac1c\uc785\uc2dc\ucf1c \ud589\ud574\uc9d1\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uac00 \ubd88\ub824 \uac00\ub3c4, \uadf8 \uc804\ud6c4\ub85c \uae30\uc874\uc758 \uc608\uc678 \uc0c1\ud0dc\ub294 \ubaa8\ub450 \ubcf4\uad00 \uc720\uc9c0\ub429\ub2c8\ub2e4. \uc608\uc678\uc758 \ucc98\ub9ac \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c\ub294, JNI \uc2a4\ud399\uc758 <a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/technotes\/guides\/jni\/spec\/design.html#wp770\">\u300cJava Exceptions\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<h3 id=\"FunctionIndex\">\ud568\uc218\uc758 \uc0c9\uc778<\/h3>\n\n<ul>\n   <li><a href=\"#memory\"><b>\uba54\ubaa8\ub9ac \uad00\ub9ac<\/b><\/a>\n\n  <ul>\n      <li><a href=\"#Allocate\">Allocate<\/a><\/li>\n       <li><a href=\"#Deallocate\">Deallocate<\/a><\/li>\n   <\/ul>\n <\/li>\n <li><a href=\"#threadCategory\"><b>thread<\/b><\/a>\n <ul>\n      <li><a href=\"#GetThreadState\">thread \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetCurrentThread\">\ud604\uc7ac\uc758 thread\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetAllThreads\">\ubaa8\ub4e0 thread\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#SuspendThread\">thread\uc758 \uc911\ub2e8<\/a><\/li>\n     <li><a href=\"#SuspendThreadList\">threaded list\uc758 \uc911\ub2e8<\/a><\/li>\n      <li><a href=\"#ResumeThread\">thread\uc758 \uc7ac\uac1c<\/a><\/li>\n      <li><a href=\"#ResumeThreadList\">threaded list\uc758 \uc7ac\uac1c<\/a><\/li>\n       <li><a href=\"#StopThread\">thread\uc758 \uc815\uc9c0<\/a><\/li>\n        <li><a href=\"#InterruptThread\">thread\uc758 \uc778\ud130\ub7fd\ud2b8<\/a><\/li>\n       <li><a href=\"#GetThreadInfo\">thread \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#GetOwnedMonitorInfo\">\uc18c\uc720 \ubaa8\ub2c8\ud130 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetOwnedMonitorStackDepthInfo\">\uc18c\uc720 \ubaa8\ub2c8\ud130\uc758 \uc2a4\ud0dd\uc758 \uae4a\uc774 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetCurrentContendedMonitor\">\ud604\uc7ac \uacbd\ud569 \ud558\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#RunAgentThread\">\uc5d0\uc774\uc804\ud2b8 thread\uc758 \uc2e4\ud589<\/a><\/li>\n       <li><a href=\"#SetThreadLocalStorage\">thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/a><\/li>\n        <li><a href=\"#GetThreadLocalStorage\">thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#thread_groups\"><b>thread \uadf8\ub8f9<\/b><\/a>\n <ul>\n      <li><a href=\"#GetTopThreadGroups\">\ud1b1 \ub808\ubca8\uc758 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetThreadGroupInfo\">thread \uadf8\ub8f9 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetThreadGroupChildren\">\uc544\uc774 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/a><\/li>\n  <\/ul>\n <\/li>\n <li><a href=\"#stack\"><b>\uc2a4\ud0dd \ud504\ub808\uc784<\/b><\/a>\n <ul>\n      <li><a href=\"#GetStackTrace\">\uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetAllStackTraces\">\ubaa8\ub4e0 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetThreadListStackTraces\">threaded list\uc758 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetFrameCount\">\ud504\ub808\uc784 \uce74\uc6b4\ud2b8\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#PopFrame\">\ud504\ub808\uc784\uc758 \ud31d<\/a><\/li>\n        <li><a href=\"#GetFrameLocation\">\ud504\ub808\uc784\uc758 \uc704\uce58\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#NotifyFramePop\">\ud504\ub808\uc784\uc758 \ud31d\uc758 \ud1b5\uc9c0<\/a><\/li>\n   <\/ul>\n <\/li>\n <li><a href=\"#ForceEarlyReturn\"><b>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c<\/b><\/a>\n <ul>\n      <li><a href=\"#ForceEarlyReturnObject\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uac1d\uccb4\ud615<\/a><\/li>\n        <li><a href=\"#ForceEarlyReturnInt\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc815\uc218\ud615<\/a><\/li>\n       <li><a href=\"#ForceEarlyReturnLong\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc7a5 \uc815\uc218\ud615<\/a><\/li>\n       <li><a href=\"#ForceEarlyReturnFloat\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n      <li><a href=\"#ForceEarlyReturnDouble\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n        <li><a href=\"#ForceEarlyReturnVoid\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - void \ud615<\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#Heap\"><b>heap<\/b><\/a>\n <ul>\n      <li><a href=\"#FollowReferences\">\ucc38\uc870\uc758 \ucd94\uc801<\/a><\/li>\n        <li><a href=\"#IterateThroughHeap\">heap\ub0b4\uc5d0\uc11c\uc758 \ubc18\ubcf5\ud574<\/a><\/li>\n      <li><a href=\"#GetTag\">\ud0dc\uadf8\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#SetTag\">\ud0dc\uadf8\uc758 \uc124\uc815<\/a><\/li>\n      <li><a href=\"#GetObjectsWithTags\">\ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud55c \uac1d\uccb4\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#ForceGarbageCollection\">\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac15\uc81c<\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#Heap_1_0\"><b>heap (1.0)<\/b><\/a>\n   <ul>\n      <li><a href=\"#IterateOverObjectsReachableFromObject\">\uac1d\uccb4\ub85c\ubd80\ud130 \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/a><\/li>\n        <li><a href=\"#IterateOverReachableObjects\">\ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/a><\/li>\n     <li><a href=\"#IterateOverHeap\">heap\uc758 \ubc18\ubcf5<\/a><\/li>\n     <li><a href=\"#IterateOverInstancesOfClass\">\ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc758 \ubc18\ubcf5<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#local\"><b>\uad6d\uc18c \ubcc0\uc218<\/b><\/a>\n   <ul>\n      <li><a href=\"#GetLocalObject\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uac1d\uccb4\ud615<\/a><\/li>\n        <li><a href=\"#GetLocalInt\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc815\uc218\ud615<\/a><\/li>\n       <li><a href=\"#GetLocalLong\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc7a5 \uc815\uc218\ud615<\/a><\/li>\n       <li><a href=\"#GetLocalFloat\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n      <li><a href=\"#GetLocalDouble\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n        <li><a href=\"#SetLocalObject\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uac1d\uccb4\ud615<\/a><\/li>\n        <li><a href=\"#SetLocalInt\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc815\uc218\ud615<\/a><\/li>\n       <li><a href=\"#SetLocalLong\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc7a5 \uc815\uc218\ud615<\/a><\/li>\n       <li><a href=\"#SetLocalFloat\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n      <li><a href=\"#SetLocalDouble\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#breakpointCategory\"><b>breakpoint<\/b><\/a>\n <ul>\n      <li><a href=\"#SetBreakpoint\">breakpoint\uc758 \uc124\uc815<\/a><\/li>\n     <li><a href=\"#ClearBreakpoint\">breakpoint\uc758 \ud574\uc81c<\/a><\/li>\n   <\/ul>\n <\/li>\n <li><a href=\"#fieldWatch\"><b>\uac10\uc2dc\ub418\ub294 \ud544\ub4dc<\/b><\/a>\n  <ul>\n      <li><a href=\"#SetFieldAccessWatch\">\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/a><\/li>\n       <li><a href=\"#ClearFieldAccessWatch\">\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/a><\/li>\n     <li><a href=\"#SetFieldModificationWatch\">\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/a><\/li>\n       <li><a href=\"#ClearFieldModificationWatch\">\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#class\"><b>\ud074\ub798\uc2a4<\/b><\/a>\n  <ul>\n      <li><a href=\"#GetLoadedClasses\">\ub85c\ub4dc\uac00 \ub05d\ub09c \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetClassLoaderClasses\">\ud074\ub798\uc2a4 \ub85c\ub354 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetClassSignature\">\ud074\ub798\uc2a4\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetClassStatus\">\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetSourceFileName\">\uc6d0\uc2dc \ud30c\uc77c\uba85\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#GetClassModifiers\">\ud074\ub798\uc2a4\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#GetClassMethods\">\ud074\ub798\uc2a4\uc758 \uba54\uc18c\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetClassFields\">\ud074\ub798\uc2a4\uc758 \ud544\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetImplementedInterfaces\">\uad6c\ud604\ub41c \uc778\ud130\ud398\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetClassVersionNumbers\">\ud074\ub798\uc2a4 \ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetConstantPool\">\uc815\uc218 \ud480\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#IsInterface\">\uc778\ud130\ud398\uc774\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n        <li><a href=\"#IsArrayClass\">\ubc30\uc5f4 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n      <li><a href=\"#IsModifiableClass\">\ubcc0\uacbd \uac00\ub2a5 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n        <li><a href=\"#GetClassLoader\">\ud074\ub798\uc2a4 \ub85c\ub354\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetSourceDebugExtension\">\uc18c\uc2a4 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#RetransformClasses\">\ud074\ub798\uc2a4\uc758 \uc7ac\ubcc0\ud658<\/a><\/li>\n      <li><a href=\"#RedefineClasses\">\ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758<\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#object\"><b>\uac1d\uccb4<\/b><\/a>\n   <ul>\n      <li><a href=\"#GetObjectSize\">\uac1d\uccb4 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#GetObjectHashCode\">\uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetObjectMonitorUsage\">\uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130\uc758 \uc774\uc6a9 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/li>\n  <\/ul>\n <\/li>\n <li><a href=\"#fieldCategory\"><b>\ud544\ub4dc<\/b><\/a>\n    <ul>\n      <li><a href=\"#GetFieldName\">\ud544\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetFieldDeclaringClass\">\ud544\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#GetFieldModifiers\">\ud544\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#IsFieldSynthetic\">\ud569\uc131 \ud544\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#method\"><b>\uba54\uc18c\ub4dc<\/b><\/a>\n <ul>\n      <li><a href=\"#GetMethodName\">\uba54\uc18c\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetMethodDeclaringClass\">\uba54\uc18c\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetMethodModifiers\">\uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetMaxLocals\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetArgumentsSize\">\uc778\uc218\uc758 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetLineNumberTable\">\ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#GetMethodLocation\">\uba54\uc18c\ub4dc\uc758 \ubc30\uce58 \uc704\uce58\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetLocalVariableTable\">\uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetBytecodes\">\ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#IsMethodNative\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n        <li><a href=\"#IsMethodSynthetic\">\ud569\uc131 \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n     <li><a href=\"#IsMethodObsolete\">\ud3d0\uae30\ub41c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n        <li><a href=\"#SetNativeMethodPrefix\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/a><\/li>\n     <li><a href=\"#SetNativeMethodPrefixes\">\ubcf5\uc218\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#RawMonitors\"><b>raw \ubaa8\ub2c8\ud130<\/b><\/a>\n    <ul>\n      <li><a href=\"#CreateRawMonitor\">raw \ubaa8\ub2c8\ud130\uc758 \uc791\uc131<\/a><\/li>\n      <li><a href=\"#DestroyRawMonitor\">raw \ubaa8\ub2c8\ud130\uc758 \ud30c\uae30<\/a><\/li>\n     <li><a href=\"#RawMonitorEnter\">raw \ubaa8\ub2c8\ud130\uc758 \uac1c\uc2dc<\/a><\/li>\n       <li><a href=\"#RawMonitorExit\">raw \ubaa8\ub2c8\ud130\uc758 \uc885\ub8cc<\/a><\/li>\n        <li><a href=\"#RawMonitorWait\">raw \ubaa8\ub2c8\ud130\uc758 \ub300\uae30<\/a><\/li>\n        <li><a href=\"#RawMonitorNotify\">raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0<\/a><\/li>\n      <li><a href=\"#RawMonitorNotifyAll\">raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0 (\ubaa8\ub450)<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#jniIntercept\"><b>JNI \ud568\uc218\uc758 \ucc28\ub2e8<\/b><\/a>\n  <ul>\n      <li><a href=\"#SetJNIFunctionTable\">JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \uc124\uc815<\/a><\/li>\n      <li><a href=\"#GetJNIFunctionTable\">JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/li>\n  <\/ul>\n <\/li>\n <li><a href=\"#eventManagement\"><b>\uc774\ubca4\ud2b8 \uad00\ub9ac<\/b><\/a>\n   <ul>\n      <li><a href=\"#SetEventCallbacks\">\uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/a><\/li>\n        <li><a href=\"#SetEventNotificationMode\">\uc774\ubca4\ud2b8 \ud1b5\uc9c0 \ubaa8\ub4dc\uc758 \uc124\uc815<\/a><\/li>\n        <li><a href=\"#GenerateEvents\">\uc774\ubca4\ud2b8\uc758 \uc0dd\uc131<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#extension\"><b>\ud655\uc7a5 \uae30\ub2a5 \uae30\uad6c<\/b><\/a>\n  <ul>\n      <li><a href=\"#GetExtensionFunctions\">\ud655\uc7a5 \ud568\uc218\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetExtensionEvents\">\ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#SetExtensionEventCallback\">\ud655\uc7a5 \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/a><\/li>\n   <\/ul>\n <\/li>\n <li><a href=\"#capability\"><b>\uad8c\ud55c<\/b><\/a>\n   <ul>\n      <li><a href=\"#GetPotentialCapabilities\">\uc7a0\uc7ac\uc801\uc778 \uad8c\ud55c\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#AddCapabilities\">\uad8c\ud55c\uc758 \ucd94\uac00<\/a><\/li>\n     <li><a href=\"#RelinquishCapabilities\">\uad8c\ud55c\uc758 \ubc29\ud3d0<\/a><\/li>\n      <li><a href=\"#GetCapabilities\">\uae30\ub2a5\uc758 \ucde8\ub4dd<\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#timers\"><b>\ud0c0\uc774\uba38<\/b><\/a>\n <ul>\n      <li><a href=\"#GetCurrentThreadCpuTimerInfo\">\ud604\uc7ac\uc758 thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetCurrentThreadCpuTime\">\ud604\uc7ac\uc758 thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetThreadCpuTimerInfo\">thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetThreadCpuTime\">thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetTimerInfo\">\ud0c0\uc774\uba38 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetTime\">\uc2dc\uac04\uc758 \ucde8\ub4dd<\/a><\/li>\n     <li><a href=\"#GetAvailableProcessors\">\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\uc138\uc11c\uc758 \ucde8\ub4dd<\/a><\/li>\n  <\/ul>\n <\/li>\n <li><a href=\"#classLoaderSearch\"><b>\ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9<\/b><\/a>\n    <ul>\n      <li><a href=\"#AddToBootstrapClassLoaderSearch\">bootstrap \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/a><\/li>\n       <li><a href=\"#AddToSystemClassLoaderSearch\">\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/a><\/li>\n <\/ul>\n <\/li>\n <li><a href=\"#props\"><b>\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0<\/b><\/a>\n <ul>\n      <li><a href=\"#GetSystemProperties\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#GetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#SetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \uc124\uc815<\/a><\/li>\n    <\/ul>\n <\/li>\n <li><a href=\"#general\"><b>\uc804\ubc18<\/b><\/a>\n  <ul>\n      <li><a href=\"#GetPhase\">\ub2e8\uacc4\uc758 \ucde8\ub4dd<\/a><\/li>\n        <li><a href=\"#DisposeEnvironment\">\ud658\uacbd\uc758 \ud30c\uae30<\/a><\/li>\n      <li><a href=\"#SetEnvironmentLocalStorage\">\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/a><\/li>\n       <li><a href=\"#GetEnvironmentLocalStorage\">\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetVersionNumber\">\ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/a><\/li>\n       <li><a href=\"#GetErrorName\">\uc5d0\ub7ec\uba85\uc758 \ucde8\ub4dd<\/a><\/li>\n      <li><a href=\"#SetVerboseFlag\">\uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc124\uc815<\/a><\/li>\n       <li><a href=\"#GetJLocationFormat\">JLocation \ud615\uc2dd\uc758 \ucde8\ub4dd<\/a><\/li>\n    <\/ul>\n <\/li>\n<\/ul>\n\n<p id=\"memory\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uba54\ubaa8\ub9ac \uad00\ub9ac<\/h2>\n\n<p>\uba54\ubaa8\ub9ac \uad00\ub9ac \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#Allocate\">Allocate<\/a><\/li>\n   <li><a href=\"#Deallocate\">Deallocate<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uae30\ub2a5\uc774 \uc0ac\uc6a9\ud558\ub294 \uba54\ubaa8\ub9ac\uc758 \ud560\ub2f9\/\ud560\ub2f9 \ud574\uc81c\ub97c \ud589\ud558\uae30 \uc704\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub610, \uc774\uac83\ub4e4\uc744 \uc0ac\uc6a9\ud558\uba74, \uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc5c5 \uba54\ubaa8\ub9ac\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uac00 \uad00\ub9ac\ud558\ub294 \uba54\ubaa8\ub9ac\uc640 \ub2e4\ub978 \uba54\ubaa8\ub9ac \ud560\ub2f9 \ub77c\uc774\ube0c\ub7ec\ub9ac \ubc0f \uae30\uad6c\uc5d0\ub294, \ud638\ud658\uc131\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"Allocate\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>Allocate<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nAllocate(jvmtiEnv* env,\n            jlong size,\n            unsigned char** mem_ptr)<\/pre>\n<\/blockquote>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 allocater\ub97c \uc0ac\uc6a9\ud574, \uba54\ubaa8\ub9ac\uc758 \uc601\uc5ed\uc744 \ud560\ub2f9\ud569\ub2c8\ub2e4. \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uba54\ubaa8\ub9ac\ub294,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \uc5d0 \uc758\ud574 \ud574\uc81c\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>46<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Allocate.size\">size<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ud560\ub2f9\ud558\ub294 \ubc14\uc774\ud2b8\uc218.\n            <p style=\"color: purple\">\uc6d0\ub9ac\uc758 \uc124\uba85: <code>jlong<\/code> \ub294 JVMDI \uc640\uc758 \ud638\ud658\uc131\uc744 \uc2e4\ud604\ud558\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Allocate.mem_ptr\">mem_ptr<\/code><\/td>\n         <td><code>unsigned char**<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uba54\ubaa8\ub9ac\uc758 \uc120\ub450\ub97c \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130. size \uac00 \uc81c\ub85c\uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \ubc18\ud658\ub41c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>unsigned char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>unsigned char*<\/code> \ub294, \uc0ac\uc774\uc988 <code>size<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OUT_OF_MEMORY\"><code>JVMTI_ERROR_OUT_OF_MEMORY<\/code><\/a><\/td>\n            <td>\uba54\ubaa8\ub9ac \uc694\uad6c\ub97c \uc774\ud589\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#Allocate.size\"><code>size<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#Allocate.mem_ptr\"><code>mem_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"Deallocate\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>Deallocate<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nDeallocate(jvmtiEnv* env,\n            unsigned char* mem)<\/pre>\n<\/blockquote>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 allocater\ub97c \uc0ac\uc6a9\ud574,<code>mem<\/code> \ub97c \ud574\uc81c\ud569\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud568\uc218\uc5d0 \uc758\ud574 \ud560\ub2f9\ud560 \uc218 \uc788\uc5b4 \ubc18\ud658\ub41c \uba54\ubaa8\ub9ac (<a href=\"#Allocate\"><code>Allocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uba54\ubaa8\ub9ac\ub97c \ud3ec\ud568\ud55c\ub2e4)\ub97c \ud574\uc81c\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ud560\ub2f9\ud560 \uc218 \uc788\ub358 \ubaa8\ub4e0 \uba54\ubaa8\ub9ac\ub97c \ud574\uc81c\ud560 \ub54c\uae4c\uc9c0, \uba54\ubaa8\ub9ac\ub97c \uc7ac\uc0dd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>47<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Deallocate.mem\">mem<\/code><\/td>\n           <td><code>unsigned char *<\/code><\/td>\n         <td>\ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uba54\ubaa8\ub9ac\uc758 \uc120\ub450\ub97c \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130. [On return, the elements are set] \ub294 \ubb34\uc2dc\ud574\ub3c4 \uc88b\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>unsigned char<\/code> \uc5d0 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4. \ubc30\uc5f4\uc758 \uc694\uc18c\uc758 \uac12\uc740 \ubb34\uc2dc\ub41c\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c, \uc694\uc18c\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>mem<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud638\ucd9c\uc774 \ubb34\uc2dc\ub41c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>\ub97c \ub3cc\ub824\uc900\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"threadCategory\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">thread<\/h2>\n\n<p>thread \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#GetThreadState\">thread \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetCurrentThread\">\ud604\uc7ac\uc758 thread\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetAllThreads\">\ubaa8\ub4e0 thread\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#SuspendThread\">thread\uc758 \uc911\ub2e8<\/a><\/li>\n <li><a href=\"#SuspendThreadList\">threaded list\uc758 \uc911\ub2e8<\/a><\/li>\n  <li><a href=\"#ResumeThread\">thread\uc758 \uc7ac\uac1c<\/a><\/li>\n  <li><a href=\"#ResumeThreadList\">threaded list\uc758 \uc7ac\uac1c<\/a><\/li>\n   <li><a href=\"#StopThread\">thread\uc758 \uc815\uc9c0<\/a><\/li>\n    <li><a href=\"#InterruptThread\">thread\uc758 \uc778\ud130\ub7fd\ud2b8<\/a><\/li>\n   <li><a href=\"#GetThreadInfo\">thread \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#GetOwnedMonitorInfo\">\uc18c\uc720 \ubaa8\ub2c8\ud130 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetOwnedMonitorStackDepthInfo\">\uc18c\uc720 \ubaa8\ub2c8\ud130\uc758 \uc2a4\ud0dd\uc758 \uae4a\uc774 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetCurrentContendedMonitor\">\ud604\uc7ac \uacbd\ud569 \ud558\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#RunAgentThread\">\uc5d0\uc774\uc804\ud2b8 thread\uc758 \uc2e4\ud589<\/a><\/li>\n   <li><a href=\"#SetThreadLocalStorage\">thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/a><\/li>\n    <li><a href=\"#GetThreadLocalStorage\">thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>thread\uc758 \ud568\uc218\ud615:<\/p>\n\n<ul>\n  <li><a href=\"#jvmtiStartFunction\">\uc5d0\uc774\uc804\ud2b8 \uae30\ub3d9 \ud568\uc218<\/a><\/li>\n<\/ul>\n\n<p>thread\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiThreadInfo\"><code>jvmtiThreadInfo<\/code><\/a> - thread \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n   <li><a href=\"#jvmtiMonitorStackDepthInfo\"><code>jvmtiMonitorStackDepthInfo<\/code><\/a> - \ubaa8\ub2c8\ud130 \uc2a4\ud0dd\uc758 \uae4a\uc774 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n<\/ul>\n\n<p>thread\uc758 \ud50c\ub798\uadf8 \ubc0f \uc815\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiThreadState\">thread \uc0c1\ud0dc\uc758 \ud50c\ub798\uadf8<\/a><\/li>\n   <li><a href=\"#jvmtiJavaLangThreadState\">java.lang.Thread.State \ubcc0\ud658 \ub9c8\uc2a4\ud06c<\/a><\/li>\n <li><a href=\"#jvmtiThreadPriority\">thread \uc6b0\uc120 \uc21c\uc704 \uc815\uc218<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetThreadState\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetThreadState(jvmtiEnv* env,\n            jthread thread,\n            jint* thread_state_ptr)<\/pre>\n<\/blockquote>\n\n<p>thread \uc0c1\ud0dc\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. thread \uc0c1\ud0dc\ub294, \uc774\ud558\uc758 \uc77c\ub828\uc758 \uc9c8\ubb38\uc5d0 \ub2f5\ud558\ub294 \uac83\uc73c\ub85c \uc555\ub2c8\ub2e4.<\/p>\n\n<ul type=\"circle\">\n <li><i>\ud65c\ub3d9 \uc0c1\ud0dc\uc778\uac00<\/i>\n\n    <ul type=\"disc\">\n        <li>\ud65c\ub3d9 \uc0c1\ud0dc\ub294 \uc544\ub2c8\ub2e4\n        <ul type=\"circle\">\n          <li><i>\uc660\uc9c0<\/i>\n\n         <ul type=\"disc\">\n                <li>\uc2e0\uaddc\uc774\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0<\/li>\n                <li>\uc885\ub8cc\ud588\uae30 \ub54c\ubb38\uc5d0 (<a href=\"#JVMTI_THREAD_STATE_TERMINATED\"><code>JVMTI_THREAD_STATE_TERMINATED<\/code><\/a> )<\/li>\n         <\/ul>\n         <\/li>\n     <\/ul>\n     <\/li>\n     <li>\ud65c\ub3d9 \uc0c1\ud0dc (<a href=\"#JVMTI_THREAD_STATE_ALIVE\"><code>JVMTI_THREAD_STATE_ALIVE<\/code><\/a> )\n      <ul type=\"circle\">\n          <li><i>\uc911\ub2e8\ud588\ub294\uc9c0<\/i>\n         <ul type=\"disc\">\n                <li>\uc911\ub2e8\ud588\ub2e4 (<a href=\"#JVMTI_THREAD_STATE_SUSPENDED\"><code>JVMTI_THREAD_STATE_SUSPENDED<\/code><\/a> )<\/li>\n              <li>\uc911\ub2e8\ud558\uace0 \uc788\uc9c0 \uc54a\ub2e4<\/li>\n           <\/ul>\n         <\/li>\n         <li><i>\uc778\ud130\ub7fd\ud2b8\uc778\uac00<\/i>\n           <ul type=\"disc\">\n                <li>\uc778\ud130\ub7fd\ud2b8 (<a href=\"#JVMTI_THREAD_STATE_INTERRUPTED\"><code>JVMTI_THREAD_STATE_INTERRUPTED<\/code><\/a> )<\/li>\n              <li>\uc778\ud130\ub7fd\ud2b8\uac00 \uc544\ub2c8\ub2e4<\/li>\n            <\/ul>\n         <\/li>\n         <li><i>native code\ub0b4\uc778\uac00<\/i>\n          <ul type=\"disc\">\n                <li>native code\ub0b4 (<a href=\"#JVMTI_THREAD_STATE_IN_NATIVE\"><code>JVMTI_THREAD_STATE_IN_NATIVE<\/code><\/a> )<\/li>\n             <li>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\ub0b4<\/li>\n            <\/ul>\n         <\/li>\n         <li><i>\uc5b4\ub290 \ud65c\ub3d9 \uc0c1\ud0dc\uc778\uac00<\/i>\n         <ul type=\"disc\">\n                <li>\uc2e4\ud589 \uac00\ub2a5 \uc0c1\ud0dc (<a href=\"#JVMTI_THREAD_STATE_RUNNABLE\"><code>JVMTI_THREAD_STATE_RUNNABLE<\/code><\/a> )<\/li>\n              <li>\ube14\ub85d \ub418\uace0 \uc788\ub2e4 (<a href=\"#JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER\"><code>JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER<\/code><\/a> )<\/li>\n              <li>\ub300\uae30\uc911 (<a href=\"#JVMTI_THREAD_STATE_WAITING\"><code>JVMTI_THREAD_STATE_WAITING<\/code><\/a> )\n             <ul type=\"circle\">\n                  <li><i>\ub300\uae30 \uc2dc\uac04\uc740<\/i>\n                    <ul type=\"disc\">\n                        <li>\ubbf8\uc815\ub3c4\ub9ac (<a href=\"#JVMTI_THREAD_STATE_WAITING_INDEFINITELY\"><code>JVMTI_THREAD_STATE_WAITING_INDEFINITELY<\/code><\/a> )<\/li>\n                        <li>\uc815\uc758\ub418\uace0 \uc788\ub2e4 (<a href=\"#JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT\"><code>JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/code><\/a> )<\/li>\n                   <\/ul>\n                 <\/li>\n                 <li><i>\ub300\uae30 \uc774\uc720\ub294<\/i>\n                    <ul type=\"disc\">\n                        <li>Object.wait (<a href=\"#JVMTI_THREAD_STATE_IN_OBJECT_WAIT\"><code>JVMTI_THREAD_STATE_IN_OBJECT_WAIT<\/code><\/a> )<\/li>\n                     <li>LockSupport.park (<a href=\"#JVMTI_THREAD_STATE_PARKED\"><code>JVMTI_THREAD_STATE_PARKED<\/code><\/a> )<\/li>\n                        <li>sleeve\uc911 (<a href=\"#JVMTI_THREAD_STATE_SLEEPING\"><code>JVMTI_THREAD_STATE_SLEEPING<\/code><\/a> )<\/li>\n                    <\/ul>\n                 <\/li>\n             <\/ul>\n             <\/li>\n         <\/ul>\n         <\/li>\n     <\/ul>\n     <\/li>\n <\/ul>\n <\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>\ub300\ub2f5\uc740\ub2e4\uc74c\uc758 \ube44\ud2b8 \ubca1\ud130\ub85c \ub098\ud0c0\ub0b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiThreadState\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">thread \uc0c1\ud0dc\uc758 \ud50c\ub798\uadf8<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_ALIVE\">JVMTI_THREAD_STATE_ALIVE<\/code><\/td>\n            <td align=\"right\">0x0001<\/td>\n           <td>thread\ub294 \ud65c\ub3d9 \uc0c1\ud0dc. thread\uac00 \uc2e0\uaddc (\uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub2e4) \ub610\ub294 \uc885\ub8cc\ud588\uc744 \uacbd\uc6b0\ub294, 0.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_TERMINATED\">JVMTI_THREAD_STATE_TERMINATED<\/code><\/td>\n          <td align=\"right\">0x0002<\/td>\n           <td>thread\ub294 \uc2e4\ud589\uc744 \uc644\ub8cc\ud588\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_RUNNABLE\">JVMTI_THREAD_STATE_RUNNABLE<\/code><\/td>\n          <td align=\"right\">0x0004<\/td>\n           <td>thread\ub294 \uc2e4\ud589 \uac00\ub2a5.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER\">JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER<\/code><\/td>\n          <td align=\"right\">0x0400<\/td>\n           <td>thread\ub294 \ub3d9\uae30 \ube14\ub85d \ub610\ub294 \uba54\uc18c\ub4dc\uc758 \uc785\ub825\uc744 \ub300\uae30\uc911. \ub610\ub294 <code>Object.wait()<\/code> \uc758 \ub098\uc911\uc5d0, \ub3d9\uae30 \ube14\ub85d \ub610\ub294 \uba54\uc18c\ub4dc\uc758 \uc7ac\uc785\ub825\uc744 \ub300\uae30\uc911.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_WAITING\">JVMTI_THREAD_STATE_WAITING<\/code><\/td>\n            <td align=\"right\">0x0080<\/td>\n           <td>thread\ub294 \ub300\uae30\uc911.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_WAITING_INDEFINITELY\">JVMTI_THREAD_STATE_WAITING_INDEFINITELY<\/code><\/td>\n          <td align=\"right\">0x0010<\/td>\n           <td>thread\ub294 \ud0c0\uc784 \uc544\uc6c3\uc5c6\uc774 \ub300\uae30\uc911. \uc608\ub97c \ub4e4\uc5b4 <code>Object.wait()<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT\">JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/code><\/td>\n          <td align=\"right\">0x0020<\/td>\n           <td>thread\ub294, \uc9c0\uc815\ub41c \ucd5c\ub300 \ub300\uae30 \uc2dc\uac04\uc5d0 \ub300\uae30\uc911. \uc608\ub97c \ub4e4\uc5b4 <code>Object.wait(long)<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_SLEEPING\">JVMTI_THREAD_STATE_SLEEPING<\/code><\/td>\n          <td align=\"right\">0x0040<\/td>\n           <td>thread\ub294 sleeve\uc911 - <code>Thread.sleep(long)<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_IN_OBJECT_WAIT\">JVMTI_THREAD_STATE_IN_OBJECT_WAIT<\/code><\/td>\n          <td align=\"right\">0x0100<\/td>\n           <td>thread\ub294 \uac1d\uccb4 \ubaa8\ub2c8\ud130\ub97c \ub300\uae30\uc911 - <code>Object.wait<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_PARKED\">JVMTI_THREAD_STATE_PARKED<\/code><\/td>\n          <td align=\"right\">0x0200<\/td>\n           <td>thread\ub294 \uc77c\uc2dc\uc815\uc9c0\uc911. \uc608\ub97c \ub4e4\uc5b4 <code>LockSupport.park<\/code>,<code>LockSupport.parkUtil<\/code>, \ubc0f <code>LockSupport.parkNanos<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_SUSPENDED\">JVMTI_THREAD_STATE_SUSPENDED<\/code><\/td>\n            <td align=\"right\">0x100000<\/td>\n         <td>thread\uac00 \uc911\ub2e8\ub418\uc5c8\ub2e4. <code>java.lang.Thread.suspend()<\/code> \ub610\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uc911\ub2e8 \ud568\uc218 (<a href=\"#SuspendThread\"><code>SuspendThread<\/code><\/a> \ub4f1)\uac00 thread\ub85c \ubd88\ub824 \uac14\ub2e4. \uc774 \ube44\ud2b8\uac00 \uc124\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0, \uadf8 \uc678\uc758 \ube44\ud2b8\ub294, thread\uc758 \uc911\ub2e8\uc804 \uc0c1\ud0dc\ub97c \ucc38\uc870\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_INTERRUPTED\">JVMTI_THREAD_STATE_INTERRUPTED<\/code><\/td>\n            <td align=\"right\">0x200000<\/td>\n         <td>thread \uc778\ud130\ub7fd\ud2b8\uac00 \ubc1c\uc0dd\ud588\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_IN_NATIVE\">JVMTI_THREAD_STATE_IN_NATIVE<\/code><\/td>\n            <td align=\"right\">0x400000<\/td>\n         <td>thread\ub294 native code\ub0b4\uc5d0 \uc788\ub2e4. \uc989, VM \ub610\ub294 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\uc5d0 \uadc0\ud658\uc2dc\ucf1c\uc9c0\uc9c0 \uc54a\uc558\ub358 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \uc2e4\ud589\uc911.\n            <p>&nbsp;<\/p>\n         \uc774 \ud50c\ub798\uadf8\ub294, VM \ub85c \ucef4\ud30c\uc77c \ub41c Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc911, VM \ucf54\ub4dc\uc758 \uc2e4\ud589\uc911, VM \uc9c0\uc6d0 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc911\uc740 \uc124\uc815\ub418\uc9c0 \uc54a\ub294 JNI \ubc0f JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub4f1\uc758 \ub124\uc774\ud2f0\ube0c VM \uc778\ud130\ud398\uc774\uc2a4 \ud568\uc218\ub294, VM \ucf54\ub4dc\ub85c\uc11c \uad6c\ud604\ud558\ub294 \uc77c\ub3c4 \uac00\ub2a5.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_VENDOR_1\">JVMTI_THREAD_STATE_VENDOR_1<\/code><\/td>\n          <td align=\"right\">0x10000000<\/td>\n           <td>VM \ubca4\ub354\uac00 \uc815\uc758\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_VENDOR_2\">JVMTI_THREAD_STATE_VENDOR_2<\/code><\/td>\n          <td align=\"right\">0x20000000<\/td>\n           <td>VM \ubca4\ub354\uac00 \uc815\uc758\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_STATE_VENDOR_3\">JVMTI_THREAD_STATE_VENDOR_3<\/code><\/td>\n          <td align=\"right\">0x40000000<\/td>\n           <td>VM \ubca4\ub354\uac00 \uc815\uc758\ud55c\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>\ub2e4\uc74c\uc758 \uc815\uc758\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI thread \uc0c1\ud0dc\ub97c <code>java.lang.Thread.State<\/code> \ud615\uc2dd \uc0c1\ud0dc\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiJavaLangThreadState\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">java.lang.Thread.State \ubcc0\ud658 \ub9c8\uc2a4\ud06c<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_MASK\">JVMTI_JAVA_LANG_THREAD_STATE_MASK<\/code><\/td>\n          <td align=\"right\">JVMTI_THREAD_STATE_TERMINATED | JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/td>\n            <td>\ube44\uad50\uc804\uc5d0, \uc774 \uac12\uc73c\ub85c \uc0c1\ud0dc\ub97c \ub9c8\uc2a4\ud06c \ud55c\ub2e4<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_NEW\">JVMTI_JAVA_LANG_THREAD_STATE_NEW<\/code><\/td>\n            <td align=\"right\">0<\/td>\n            <td><code>java.lang.Thread.State.NEW<\/code><\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED\">JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED<\/code><\/td>\n          <td align=\"right\">JVMTI_THREAD_STATE_TERMINATED<\/td>\n            <td><code>java.lang.Thread.State.TERMINATED<\/code><\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE\">JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE<\/code><\/td>\n          <td align=\"right\">JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE<\/td>\n           <td><code>java.lang.Thread.State.RUNNABLE<\/code><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED\">JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED<\/code><\/td>\n            <td align=\"right\">JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER<\/td>\n           <td><code>java.lang.Thread.State.BLOCKED<\/code><\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_WAITING\">JVMTI_JAVA_LANG_THREAD_STATE_WAITING<\/code><\/td>\n            <td align=\"right\">JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY<\/td>\n          <td><code>java.lang.Thread.State.WAITING<\/code><\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING\">JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING<\/code><\/td>\n            <td align=\"right\">JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/td>\n          <td><code>java.lang.Thread.State.TIMED_WAITING<\/code><\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p><b>\uaddc\uce59<\/b><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc758\ubb38\uc5d0 \ub300\ud55c \ud68c\ub2f5\uc740 1 \uac1c \uc774\uc0c1\uc740 \uc5c6\uc2b5\ub2c8\ub2e4\ub9cc, \ud68c\ub2f5\uc774 \uc5c6\ub294 \uac83\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\uac83\uc740 \ud68c\ub2f5\uc744 \ubaa8\ub974\ub294\uc9c0, \ub4e4\uc5b4\ub9de\uc9c0 \uc54a\ub294\uac00, \ud68c\ub2f5\uc758 \uc5b4\ub290 \uac83\ub3c4 \uc62c\ubc14\ub974\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub2f5\uc740, \uad04\ud638\ub0b4\uc758 \ud68c\ub2f5\uc774 \uc77c\uce58\ud588\uc744 \ub54c\uc5d0\ub9cc \uc124\uc815\ub429\ub2c8\ub2e4. \uc989, \ub2e4\uc74c\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0 1 \uac1c(\uc0b4) \uc774\uc0c1\uc740 \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"circle\">\n  <li><code>JVMTI_THREAD_STATE_RUNNABLE<\/code><\/li>\n <li><code>JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER<\/code><\/li>\n <li><code>JVMTI_THREAD_STATE_WAITING<\/code><\/li>\n<\/ul>\n\n<p><code>JVMTI_THREAD_STATE_ALIVE<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, J2SE<sup><font size=\"-2\">TM<\/font><\/sup> \uc900\uac70 \uad6c\ud604\uc5d0\uc11c\ub294, \uc774\uc0c1\uc911 \ud55c\ucabd\uc774 \ud56d\uc0c1 \uc124\uc815\ub429\ub2c8\ub2e4. \uc5b4\ub290\ucabd\uc774\ub4e0\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0\ub294, \uad04\ud638\uc5d0 \ub458\ub7ec\uc2f8\uc778 \ud68c\ub2f5 <code>JVMTI_THREAD_STATE_ALIVE<\/code> \uac00 \uc124\uc815\ub429\ub2c8\ub2e4. \uc774\ud558\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0 1 \uac1c(\uc0b4) \uc774\uc0c1\uc740 \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"circle\">\n  <li><code>JVMTI_THREAD_STATE_WAITING_INDEFINITELY<\/code><\/li>\n <li><code>JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/code><\/li>\n<\/ul>\n\n<p><code>JVMTI_THREAD_STATE_WAITING<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, J2SE<sup><font size=\"-2\">TM<\/font><\/sup> \uc900\uac70 \uad6c\ud604\uc5d0\uc11c\ub294, \uc774\uc0c1\uc911 \ud55c\ucabd\uc774 \ud56d\uc0c1 \uc124\uc815\ub429\ub2c8\ub2e4. \uc5b4\ub290\ucabd\uc774\ub4e0\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, \uad04\ud638\uc5d0 \ub458\ub7ec\uc2f8\uc778 \ub2f5 <code>JVMTI_THREAD_STATE_ALIVE<\/code> \ubc0f <code>JVMTI_THREAD_STATE_WAITING<\/code> \uac00 \uc124\uc815\ub429\ub2c8\ub2e4. \uc774\ud558\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0 1 \uac1c(\uc0b4) \uc774\uc0c1\uc740 \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"circle\">\n    <li><code>JVMTI_THREAD_STATE_IN_OBJECT_WAIT<\/code><\/li>\n   <li><code>JVMTI_THREAD_STATE_PARKED<\/code><\/li>\n   <li><code>JVMTI_THREAD_STATE_SLEEPING<\/code><\/li>\n<\/ul>\n\n<p>\uc5b4\ub290\ucabd\uc774\ub4e0\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, \uad04\ud638\uc5d0 \ub458\ub7ec\uc2f8\uc778 \ud68c\ub2f5 <code>JVMTI_THREAD_STATE_ALIVE<\/code> \ubc0f <code>JVMTI_THREAD_STATE_WAITING<\/code> \uac00 \uc124\uc815\ub429\ub2c8\ub2e4. \ub610 <code>JVMTI_THREAD_STATE_SLEEPING<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0\ub294,<code>JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/code> \uac00 \uc124\uc815\ub429\ub2c8\ub2e4. \uc0c1\ud0dc <i>A<\/i> \uac00 \uc0c1\ud0dc <i>B<\/i> \uc758 \uae30\uad6c\ub97c \uc0ac\uc6a9\ud574 \uad6c\ud604\ub418\uace0 \uc788\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub85c \ubc18\ud658\ub418\ub294 \uac83\uc740 \uc0c1\ud0dc <i>A<\/i> \uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 <code>Thread.sleep(long)<\/code> \uac00 <code>Object.wait(long)<\/code> \ub97c \uc0ac\uc6a9\ud574 \uad6c\ud604\ub418\uace0 \uc788\ub294 \uacbd\uc6b0\ub294, \ubc18\ud658\ub418\ub294 \uac83\uc740 <code>JVMTI_THREAD_STATE_SLEEPING<\/code> \uc778 \ucc44\uc785\ub2c8\ub2e4. \uc774\ud558\ub294 \ubcf5\uc218 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"circle\">\n    <li><code>JVMTI_THREAD_STATE_SUSPENDED<\/code><\/li>\n    <li><code>JVMTI_THREAD_STATE_INTERRUPTED<\/code><\/li>\n  <li><code>JVMTI_THREAD_STATE_IN_NATIVE<\/code><\/li>\n<\/ul>\n\n<p>\ub2e4\ub9cc, \uc5b4\ub290\ucabd\uc774\ub4e0\uac00 \uc124\uc815\ub418\uba74(\uc790),<code>JVMTI_THREAD_STATE_ALIVE<\/code> \uac00 \uc124\uc815\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uadf8\ub9ac\uace0,<code>JVMTI_THREAD_STATE_TERMINATED<\/code> \ub294 <code>JVMTI_THREAD_STATE_ALIVE<\/code> \uac00 \uc124\uc815\ub420 \ub54c\uae4c\uc9c0\ub294 \uc124\uc815\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread \uc0c1\ud0dc\uc758 \ud45c\ud604\uc740, \uc7a5\ub798\uc758 \uc2a4\ud399\uc73c\ub85c \ud655\uc7a5\ub418\ub294 \uac83\uc744 \uace0\ub824\ud574 \uc124\uacc4\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. thread \uc0c1\ud0dc\uc758 \uac12\uc740, \uac70\uae30\uc5d0 \uc751\ud574 \uc0ac\uc6a9 \ub418\ub294 \uac83\uc774 \ub2f9\uc5f0\ud574, \uc11c\uc218\ub85c\uc11c\ub294 \uc0ac\uc6a9\ud558\uc9c0 \ub9d0\uc544 \uc8fc\uc138\uc694. \ub300\ubd80\ubd84\uc758 \uc870\ud68c\ub294, \ub2e8\uc77c \ube44\ud2b8\ub97c \ud14c\uc2a4\ud2b8\ud574 \ud589\ud574\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. switch \ubb38\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\ub294, \ud574\ub2f9\ud558\ub294 \ube44\ud2b8\ub85c \uc0c1\ud0dc \ube44\ud2b8\ub97c \ub9c8\uc2a4\ud06c \ud574 \uc8fc\uc138\uc694. \uc0c1\uae30\ub85c \uc815\uc758\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ubaa8\ub4e0 \ube44\ud2b8\ub294, \uc7a5\ub798 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \uc608\uc57d\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac\uc758 \uc2a4\ud399\uc5d0 \ud638\ud658\uc758 VM \uc5d0\uc11c\ub294, \uc608\uc57d \ube44\ud2b8\ub97c 0 \uc73c\ub85c \uc124\uc815\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294 \uc608\uc57d \ube44\ud2b8\ub97c \ubb34\uc2dc\ud558\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4. \uc608\uc57d \ube44\ud2b8\ub294 0 \uc774\ub77c\uace0 \uc0c1\uc815\ud558\uc9c0 \ub9d0\uc544 \uc8fc\uc138\uc694. \ub610 \uadf8 \ub54c\ubb38\uc5d0 \ube44\uad50\uc5d0\ub294 \ud3ec\ud568\ud558\uc9c0 \ub9d0\uc544 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><b>\ub840<\/b><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc9c0\uae08\ubd80\ud130 \uc124\uba85\ud558\ub294 \uac12\uc740, \uc608\uc57d \ube44\ud2b8\uc640 \ubca4\ub354 \ube44\ud2b8\ub97c \uc81c\uc678\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>synchronized<\/code> \ubb38\uc73c\ub85c \ube14\ub85d \ub41c thread \uc0c1\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n            JVMTI_THREAD_STATE_ALIVE + JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER\n        <\/pre>\n<\/blockquote>\n\n<p>\uac1c\uc2dc\ud558\uace0 \uc788\uc9c0 \uc54a\ub294 thread \uc0c1\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n            0\n        <\/pre>\n<\/blockquote>\n\n<p><code>Object.wait(3000)<\/code> \uc5d0 \uc758\ud55c thread \uc0c1\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n            JVMTI_THREAD_STATE_ALIVE + JVMTI_THREAD_STATE_WAITING +\n                JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT +\n                JVMTI_THREAD_STATE_MONITOR_WAITING\n        <\/pre>\n<\/blockquote>\n\n<p>\uc2e4\ud589 \uac00\ub2a5\uc911\uc5d0 \uc911\ub2e8\ub41c thread \uc0c1\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n            JVMTI_THREAD_STATE_ALIVE + JVMTI_THREAD_STATE_RUNNABLE + JVMTI_THREAD_STATE_SUSPENDED\n        <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p><b>\uc0c1\ud0dc\uc758 \ud14c\uc2a4\ud2b8<\/b><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub300\ubd80\ubd84\uc758 \uacbd\uc6b0, thread \uc0c1\ud0dc\ub294 \ud574\ub2f9\ud558\ub294 \uc0c1\ud0dc\uc5d0 \ub300\uc751\ud558\ub294 1 \ube44\ud2b8\ub97c \ud14c\uc2a4\ud2b8\ud558\uba74 \ud310\uba85\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, thread\uac00 sleeve \uc0c1\ud0dc\uc778\uac00 \uc5b4\ub5a4\uac00\ub97c \ud14c\uc2a4\ud2b8\ud558\ub294 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n        jint state;\n        jvmtiError err;\n\n        err = (*jvmti)-&gt;GetThreadState(jvmti, thread, &amp;state);\n        if (err == JVMTI_ERROR_NONE) {\n           if (state &amp; JVMTI_THREAD_STATE_SLEEPING) {  ...\n        <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\ub300\uae30\uc911 (<code>Object.wait<\/code>, \uc77c\uc2dc\uc815\uc9c0\uc911, \ub610\ub294 sleeve\uc911)\uc758 \uacbd\uc6b0\ub294, \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n           if (state &amp; JVMTI_THREAD_STATE_WAITING) {  ...\n        <\/pre>\n<\/blockquote>\n\n<p>\uc0c1\ud0dc\uc5d0 \ub530\ub77c\uc11c\ub294, \ubcf5\uc218 \ube44\ud2b8\ub97c \ud14c\uc2a4\ud2b8\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. thread\uac00 \uac1c\uc2dc\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0 \uc5b4\ub5a4\uc9c0\ub97c \ud14c\uc2a4\ud2b8\ud558\ub294 \uacbd\uc6b0 \ub4f1\uc785\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n           if ((state &amp; (JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_TERMINATED)) == 0)  {  ...\n        <\/pre>\n<\/blockquote>\n\n<p>\uc2dc\uac04 \uc9c0\uc815\ud588\uc744 \uacbd\uc6b0\ub85c \ud558\uace0 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc758 <code>Object.wait<\/code> \ub97c \uad6c\ubcc4\ud558\ub824\uba74 , \ub2e4\uc74c\uacfc \uac19\uc774 \ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n           if (state &amp; JVMTI_THREAD_STATE_IN_OBJECT_WAIT)  {\n             if (state &amp; JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT)  {\n               printf(&quot;in Object.wait(long timeout) \\n&quot;);\n             } else {\n               printf(&quot;in Object.wait() \\n&quot;);\n             }\n           }\n        <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p><b><code>java.lang.Thread.State<\/code> \uc640\uc758 \uad00\uacc4<\/b><\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>java.lang.Thread.getState()<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 <code>java.lang.Thread.State<\/code> \ub85c \ub098\ud0c0\ub098\ub294 thread \uc0c1\ud0dc\ub294, \uc774 \ud568\uc218\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uc815\ubcf4\uc758 \ubd80\ubd84\uc9d1\ud569\uc785\ub2c8\ub2e4. \ub300\uc751\ud558\ub294 <code>java.lang.Thread.State<\/code> \ub294, \uc9c0\uc815\ub41c \ubcc0\ud658 \ub9c8\uc2a4\ud06c\ub97c \uc0ac\uc6a9\ud574 \uacb0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ub2e4\uc74c\uc758 \ucf54\ub4dc\ub294 <code>java.lang.Thread.State<\/code> thread \uc0c1\ud0dc\uc758 \uc774\ub984\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n            err = (*jvmti)-&gt;GetThreadState(jvmti, thread, &amp;state);\n            abortOnError(err);\n            switch (state &amp; JVMTI_JAVA_LANG_THREAD_STATE_MASK) {\n            case JVMTI_JAVA_LANG_THREAD_STATE_NEW:\n              return &quot;NEW&quot;;\n            case JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED:\n              return &quot;TERMINATED&quot;;\n            case JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE:\n              return &quot;RUNNABLE&quot;;\n            case JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED:\n              return &quot;BLOCKED&quot;;\n            case JVMTI_JAVA_LANG_THREAD_STATE_WAITING:\n              return &quot;WAITING&quot;;\n            case JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING:\n              return &quot;TIMED_WAITING&quot;;\n            }\n        <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>17<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadState.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadState.thread_state_ptr\">thread_state_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c,<a href=\"#jvmtiThreadState\">thread \uc0c1\ud0dc \ud50c\ub798\uadf8<\/a>\uc758 \uc815\uc758\uc5d0 \ub530\ub77c \uc0c1\ud0dc \ud50c\ub798\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadState.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadState.thread_state_ptr\"><code>thread_state_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetCurrentThread\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud604\uc7ac\uc758 thread\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetCurrentThread(jvmtiEnv* env,\n            jthread* thread_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud604\uc7ac\uc758 thread\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \ud604\uc7ac\uc758 thread\ub780, \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud55c Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 thread\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread\ub97c \uc778\uc218\uc5d0 \ucde8\ud558\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc758 \ub300\ubd80\ubd84\uc740,<code>NULL<\/code> \ub97c \ud604\uc7ac\uc758 thread\ub97c \uc758\ubbf8\ud558\ub294 \uac83\uc73c\ub85c\uc11c \ubc1b\uc544\ub4e4\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>18<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetCurrentThread.thread_ptr\">thread_ptr<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud604\uc7ac\uc758 thread\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthread<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jthread<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>thread_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentThread.thread_ptr\"><code>thread_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetAllThreads\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubaa8\ub4e0 thread\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetAllThreads(jvmtiEnv* env,\n            jint* threads_count_ptr,\n            jthread** threads_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ubaa8\ub4e0 \ub77c\uc774\ube0c thread\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. thread\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 thread, \uc989 VM \uc5d0 \uc811\uc18d\ub41c thread\uc785\ub2c8\ub2e4. thread\uac00 \ub77c\uc774\ube0c thread\ub77c\uba74,<code>java.lang.Thread.isAlive()<\/code> \uc758 \ubc18\ud658\uac12\uc740 <code>true<\/code> \uac00 \ub429\ub2c8\ub2e4. \uc774 \uacbd\uc6b0, thread\ub294, \uae30\ub3d9\ub41c \ub4a4, \uc544\uc9c1 \uc885\ub8cc\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. thread\uc758 \uc601\uc5ed\uc740, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc758 \ubb38\ub9e5\uc5d0 \uc758\ud574 \uacb0\uc815\ub429\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, VM \uc5d0 \uc811\uc18d\ub41c \ubaa8\ub4e0 thread\uac00 \ub300\uc0c1\uc774 \ub429\ub2c8\ub2e4. \uc774\uac83\uc5d0\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc5d0\uc774\uc804\ud2b8\uc758 thread\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4 (<a href=\"#RunAgentThread\"><code>RunAgentThread<\/code><\/a> \ub97c \ucc38\uc870).<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>4<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetAllThreads.threads_count_ptr\">threads_count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, throw \ub418\ub294 \uc608\uc678\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetAllThreads.threads_ptr\">threads_ptr<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ucc38\uc870 (\uc2e4\ud589\uc911\uc758 thread \ub9c8\ub2e4 1 \uac1c(\uc0b4)\uc529)\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthread*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jthread*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*threads_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>threads_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetAllThreads.threads_count_ptr\"><code>thread_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetAllThreads.threads_ptr\"><code>threads__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SuspendThread\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread\uc758 \uc911\ub2e8<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSuspendThread(jvmtiEnv* env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\ub97c \uc911\ub2e8\ud569\ub2c8\ub2e4. \ud638\ucd9c\uce21 thread\uac00 \uc9c0\uc815\ub418\uace0 \uc788\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub294, \ub2e4\ub978 thread\uac00 <a href=\"#ResumeThread\"><code>ResumeThread<\/code><\/a> \ub97c \ud638\ucd9c\ud560 \ub54c\uae4c\uc9c0 \ub3cc\uc544\uc624\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. thread\uac00 \ud604\uc7ac \uc911\ub2e8\ub418\uace0 \uc788\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub294 \uc544\ubb34\uac83\ub3c4 \uc2e4\uc2dc\ud558\uc9c0 \uc54a\uace0, \uc5d0\ub7ec\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>5<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a><\/td>\n          <td>thread\ub97c \uc911\ub2e8\ud574, \uc7ac\uac1c\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SuspendThread.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc911\ub2e8\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_SUSPENDED\"><code>JVMTI_ERROR_THREAD_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\ub294 \ubc8c\uc368 \uc911\ub2e8\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SuspendThread.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SuspendThread.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SuspendThreadList\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>threaded list\uc758 \uc911\ub2e8<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSuspendThreadList(jvmtiEnv* env,\n            jint request_count,\n            const jthread* request_list,\n            jvmtiError* results)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#SuspendThreadList.request_list\"><code>request_list<\/code><\/a> \ubc30\uc5f4\ub85c \uc9c0\uc815\ub41c thread <a href=\"#SuspendThreadList.request_count\"><code>request_count<\/code><\/a> \ub97c \uc911\ub2e8\ud569\ub2c8\ub2e4. thread\uc758 \uc7ac\uac1c\uc5d0\ub294,<a href=\"#ResumeThreadList\"><code>ResumeThreadList<\/code><\/a> \ub610\ub294 <a href=\"#ResumeThread\"><code>ResumeThread<\/code><\/a> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. <a href=\"#SuspendThreadList.request_list\"><code>request_list<\/code><\/a> \ubc30\uc5f4\uc5d0 \ud638\ucd9c\ud574 \uc606thread\uac00 \uc9c0\uc815\ub418\uace0 \uc788\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub294, \ub2e4\ub978 thread\uc5d0 \uc758\ud574 \uc7ac\uac1c\ub420 \ub54c\uae4c\uc9c0 \ub3cc\uc544\uc624\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. thread\uc758 \uc911\ub2e8\uc911\uc5d0 \ubc1c\uc0dd\ud55c \uc5d0\ub7ec\ub294, \uc774 \ud568\uc218\uc758 \ubc18\ud658\uac12\uc740 \uc544\ub2c8\uace0,<a href=\"#SuspendThreadList.results\"><code>results<\/code><\/a> \ubc30\uc5f4\ub0b4\uc5d0 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ud604\uc7ac \uc911\ub2e8\ud558\uace0 \uc788\ub294 thread \uc0c1\ud0dc\ub294 \ubc14\ub00c\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>92<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a><\/td>\n          <td>thread\ub97c \uc911\ub2e8\ud574, \uc7ac\uac1c\ud560 \uc218 \uc788\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SuspendThreadList.request_count\">request_count<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc911\ub2e8\ud558\ub294 thread\uc758 \uc218.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SuspendThreadList.request_list\">request_list<\/code><\/td>\n          <td><code>const <a href=\"#jthread\">jthread<\/a> *<\/code><\/td>\n            <td>\uc911\ub2e8\ud558\ub294 thread\uc758 \ub9ac\uc2a4\ud2b8.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthread<\/code> \uc758 <code>request_count<\/code> \uc694\uc18c\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SuspendThreadList.results\">results<\/code><\/td>\n            <td><code><a href=\"#jvmtiError\">jvmtiError<\/a> *<\/code><\/td>\n            <td>\uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub41c <a href=\"#SuspendThreadList.request_count\"><code>request_count<\/code><\/a> \uc694\uc18c\uc758 \ubc30\uc5f4. \ub3cc\uc544\uc654\uc744 \ub54c, \ub300\uc751\ud558\ub294 thread\uc758 \uc911\ub2e8\uc758 \uc5d0\ub7ec \ucf54\ub4dc\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4. thread\uac00 \uc774 \ud638\ucd9c\uc5d0 \uc758\ud574 \uc911\ub2e8\ud588\uc744 \uacbd\uc6b0, \uc5d0\ub7ec \ucf54\ub4dc\ub294 <a href=\"#JVMTI_ERROR_NONE\"><code>JVMTI_ERROR_NONE<\/code><\/a> . \uadf8 \uc678\uc758 \uc5d0\ub7ec \ucf54\ub4dc\ub294,<a href=\"#SuspendThread\"><code>SuspendThread<\/code><\/a> \ub85c \uc9c0\uc815\ub41c \uc5d0\ub7ec \ucf54\ub4dc.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>jvmtiError<\/code> \uc758 <code>request_count<\/code> \uc694\uc18c\ub97c \ucda9\ubd84\ud788 \ubcf4\uad00 \uc720\uc9c0\ud560 \uc218 \uc788\ub294 \ud06c\uae30\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4. \ubc30\uc5f4\uc758 \uc694\uc18c\uc758 \uac12\uc740 \ubb34\uc2dc\ub41c\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c, \uc694\uc18c\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SuspendThreadList.request_count\"><code>request_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#SuspendThreadList.request_list\"><code>request_list<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#SuspendThreadList.results\"><code>results<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ResumeThread\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread\uc758 \uc7ac\uac1c<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nResumeThread(jvmtiEnv* env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>\uc911\ub2e8\ub418\uace0 \uc788\ub294 thread\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud569\ub2c8\ub2e4. \ud604\uc7ac JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc911\ub2e8 \ud568\uc218 (<a href=\"#SuspendThread\"><code>SuspendThread<\/code><\/a> \ub4f1) \ub610\ub294 <code>java.lang.Thread.suspend()<\/code> \uc5d0 \uc758\ud574 \uc911\ub2e8\ub418\uace0 \uc788\ub294 thread\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud569\ub2c8\ub2e4. \uadf8 \uc678\uc758 thread\uc5d0\ub294 \uc601\ud5a5\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>6<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a><\/td>\n          <td>thread\ub97c \uc911\ub2e8\ud574, \uc7ac\uac1c\ud560 \uc218 \uc788\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ResumeThread.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc7ac\uac1c\ud558\ub294 thread.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\ub294 \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_TYPESTATE\"><code>JVMTI_ERROR_INVALID_TYPESTATE<\/code><\/a><\/td>\n            <td>thread \uc0c1\ud0dc\uac00 \ubcc0\uacbd\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0, \ubd80\uc815\ud569\uc774 \uc0dd\uae30\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ResumeThread.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ResumeThread.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ResumeThreadList\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>threaded list\uc758 \uc7ac\uac1c<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nResumeThreadList(jvmtiEnv* env,\n            jint request_count,\n            const jthread* request_list,\n            jvmtiError* results)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#ResumeThreadList.request_list\"><code>request_list<\/code><\/a> \ubc30\uc5f4\ub85c \uc9c0\uc815\ub41c thread <a href=\"#ResumeThreadList.request_count\"><code>request_count<\/code><\/a> \ub97c \uc7ac\uac1c\ud569\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc911\ub2e8 \ud568\uc218 (<a href=\"#SuspendThreadList\"><code>SuspendThreadList<\/code><\/a> \ub4f1) \ub610\ub294 <code>java.lang.Thread.suspend()<\/code> \uc5d0 \uc758\ud574 \uc911\ub2e8\ub418\uace0 \uc788\ub294 thread\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>93<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a><\/td>\n          <td>thread\ub97c \uc911\ub2e8\ud574, \uc7ac\uac1c\ud560 \uc218 \uc788\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ResumeThreadList.request_count\">request_count<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc7ac\uac1c\ud558\ub294 thread\uc758 \uc218.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ResumeThreadList.request_list\">request_list<\/code><\/td>\n           <td><code>const <a href=\"#jthread\">jthread<\/a> *<\/code><\/td>\n            <td>\uc7ac\uac1c\ud558\ub294 thread.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthread<\/code> \uc758 <code>request_count<\/code> \uc694\uc18c\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ResumeThreadList.results\">results<\/code><\/td>\n         <td><code><a href=\"#jvmtiError\">jvmtiError<\/a> *<\/code><\/td>\n            <td>\uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub41c <a href=\"#ResumeThreadList.request_count\"><code>request_count<\/code><\/a> \uc694\uc18c\uc758 \ubc30\uc5f4. \ub3cc\uc544\uc654\uc744 \ub54c, \ub300\uc751\ud558\ub294 thread\uc758 \uc7ac\uac1c\uc758 \uc5d0\ub7ec \ucf54\ub4dc\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4. thread\uac00 \uc774 \ud638\ucd9c\uc5d0 \uc758\ud574 \uc911\ub2e8\ud588\uc744 \uacbd\uc6b0, \uc5d0\ub7ec \ucf54\ub4dc\ub294 <a href=\"#JVMTI_ERROR_NONE\"><code>JVMTI_ERROR_NONE<\/code><\/a> . \uadf8 \uc678\uc758 \uc5d0\ub7ec \ucf54\ub4dc\ub294,<a href=\"#ResumeThread\"><code>ResumeThread<\/code><\/a> \ub85c \uc9c0\uc815\ub41c \uc5d0\ub7ec \ucf54\ub4dc.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>jvmtiError<\/code> \uc758 <code>request_count<\/code> \uc694\uc18c\ub97c \ucda9\ubd84\ud788 \ubcf4\uad00 \uc720\uc9c0\ud560 \uc218 \uc788\ub294 \ud06c\uae30\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4. \ubc30\uc5f4\uc758 \uc694\uc18c\uc758 \uac12\uc740 \ubb34\uc2dc\ub41c\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c, \uc694\uc18c\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_suspend\"><code>can_suspend<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#ResumeThreadList.request_count\"><code>request_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#ResumeThreadList.request_list\"><code>request_list<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#ResumeThreadList.results\"><code>results<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"StopThread\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread\uc758 \uc815\uc9c0<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nStopThread(jvmtiEnv* env,\n            jthread thread,\n            jobject exception)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c \ube44\ub3d9\uae30\uc758 \uc608\uc678\uac00 \uc9c0\uc815\ub41c thread\uc5d0 \ubcf4\ub0c5\ub2c8\ub2e4 (<code>java.lang.Thread.stop<\/code> \uc640 \uac19\uc774). \uc77c\ubc18\uc801\uc73c\ub85c, \uc774 \ud568\uc218\ub294, \uc9c0\uc815\ub41c thread\ub97c, \uc608\uc678 <code>ThreadDeath<\/code> \uc758 \uc778\uc2a4\ud134\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc885\ub8cc\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>7<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_signal_thread\"><code>can_signal_thread<\/code><\/a><\/td>\n          <td>thread\uc5d0 \uc815\uc9c0 \ub610\ub294 \ub07c\uc5b4\ub4e4\uc5b4 \uc2e0\ud638\ub97c \uc1a1\uc2e0\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"StopThread.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc815\uc9c0\ud558\ub294 thread.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"StopThread.exception\">exception<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ube44\ub3d9\uae30\uc758 \uc608\uc678 \uac1d\uccb4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_signal_thread\"><code>can_signal_thread<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#StopThread.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#StopThread.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#StopThread.exception\"><code>exception<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"InterruptThread\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread\uc758 \uc778\ud130\ub7fd\ud2b8<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nInterruptThread(jvmtiEnv* env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\uc5d0 \ub07c\uc5b4\ub4ed\ub2c8\ub2e4 (<code>java.lang.Thread.interrupt<\/code> \uc640 \uac19\uc774).<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>8<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_signal_thread\"><code>can_signal_thread<\/code><\/a><\/td>\n          <td>thread\uc5d0 \uc815\uc9c0 \ub610\ub294 \ub07c\uc5b4\ub4e4\uc5b4 \uc2e0\ud638\ub97c \uc1a1\uc2e0\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"InterruptThread.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ub07c\uc5b4\ub4dc\ub294 thread.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_signal_thread\"><code>can_signal_thread<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#InterruptThread.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#InterruptThread.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread \uc815\ubcf4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    char* name;\n    jint priority;\n    jboolean is_daemon;\n    jthreadGroup thread_group;\n    jobject context_class_loader;\n} jvmtiThreadInfo;<\/pre>\n\n<pre>\njvmtiError\nGetThreadInfo(jvmtiEnv* env,\n            jthread thread,\n            jvmtiThreadInfo* info_ptr)<\/pre>\n<\/blockquote>\n\n<p>thread \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#jvmtiThreadInfo\"><code>jvmtiThreadInfo<\/code><\/a> \uad6c\uc870\uccb4\uc758 \ud544\ub4dc\uc5d0, \uc9c0\uc815\ub41c thread\uc758 \uc0c1\uc138\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>9<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiThreadInfo\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiThreadInfo<\/code> - thread \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadInfo.name\">name<\/code><\/td>\n            <td><code>char *<\/code><\/td>\n          <td>thread\uba85. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadInfo.priority\">priority<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>thread\uc758 \uc6b0\uc120 \uc21c\uc704. thread \uc6b0\uc120 \uc21c\uc704 \uc815\uc218 <a href=\"#jvmtiThreadPriority\"><code>jvmtiThreadPriority<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadInfo.is_daemon\">is_daemon<\/code><\/td>\n          <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>demon thread\uc778\uac00 \uc5b4\ub5a4\uac00<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadInfo.thread_group\">thread_group<\/code><\/td>\n            <td><code><a href=\"#jthreadGroup\">jthreadGroup<\/a> <\/code><\/td>\n         <td>\uc774 thread\uac00 \uc18d\ud558\ub294 thread \uadf8\ub8f9. thread\uac00 \uc815\uc9c0\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\ub294 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadInfo.context_class_loader\">context_class_loader<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uc774 thread\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc5c8\ub358 \ubb38\ub9e5 \ud074\ub798\uc2a4 \ub85c\ub354.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadInfo.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadInfo.info_ptr\">info_ptr<\/code><\/td>\n          <td><code><a href=\"#jvmtiThreadInfo\">jvmtiThreadInfo<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc9c0\uc815\ub41c thread\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \ubb38\ub9e5 \ud074\ub798\uc2a4 \ub85c\ub354\ub97c \uc778\uc2dd\ud558\uc9c0 \uc54a\ub294 JDK 1.1 \uc758 \uad6c\ud604\uc758 \uacbd\uc6b0,<code>context_class_loader<\/code> \ud544\ub4dc\ub294 NULL.\n\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiThreadInfo<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiThreadInfo<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>jvmtiThreadInfo<\/code> \uc758 <code>name<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiThreadInfo<\/code> \uc758 <code>thread_group<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiThreadInfo<\/code> \uc758 <code>context_class_loader<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadInfo.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadInfo.info_ptr\"><code>info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetOwnedMonitorInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc18c\uc720 \ubaa8\ub2c8\ud130 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetOwnedMonitorInfo(jvmtiEnv* env,\n            jthread thread,\n            jint* owned_monitor_count_ptr,\n            jobject** owned_monitors_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\uac00 \uc18c\uc720\ud558\ub294 \ubaa8\ub2c8\ud130\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>10<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_owned_monitor_info\"><code>can_get_owned_monitor_info<\/code><\/a><\/td>\n            <td>\ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub294 - <a href=\"#GetOwnedMonitorInfo\"><code>GetOwnedMonitorInfo<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetOwnedMonitorInfo.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetOwnedMonitorInfo.owned_monitor_count_ptr\">owned_monitor_count_ptr<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ubc18\ud658\ub418\ub294 \ubaa8\ub2c8\ud130\uc758 \uc218.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetOwnedMonitorInfo.owned_monitors_ptr\">owned_monitors_ptr<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> **<\/code><\/td>\n         <td>\uc18c\uc720\ub418\ub294 \ubaa8\ub2c8\ud130\uc758 \ubc30\uc5f4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jobject*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jobject*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*owned_monitor_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>owned_monitors_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_owned_monitor_info\"><code>can_get_owned_monitor_info<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorInfo.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorInfo.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorInfo.owned_monitor_count_ptr\"><code>owned_monitor_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorInfo.owned_monitors_ptr\"><code>owned_monitor_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetOwnedMonitorStackDepthInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc18c\uc720 \ubaa8\ub2c8\ud130\uc758 \uc2a4\ud0dd\uc758 \uae4a\uc774 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jobject monitor;\n    jint stack_depth;\n} jvmtiMonitorStackDepthInfo;<\/pre>\n\n<pre>\njvmtiError\nGetOwnedMonitorStackDepthInfo(jvmtiEnv* env,\n            jthread thread,\n            jint* monitor_info_count_ptr,\n            jvmtiMonitorStackDepthInfo** monitor_info_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\uac00 \uc18c\uc720\ud558\ub294 \ubaa8\ub2c8\ud130\uc5d0 \uad00\ud55c \uc815\ubcf4\uc640 \uadf8\ub7ec\ud55c \ubaa8\ub2c8\ud130\ub97c \uc7a0\uadf8\uace0 \uc788\ub294 \uc2a4\ud0dd \ud504\ub808\uc784\uc758 \uae4a\uc774\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>153<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_owned_monitor_stack_depth_info\"><code>can_get_owned_monitor_stack_depth_info<\/code><\/a><\/td>\n            <td>\uc18c\uc720\ub418\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uc5d0 \uad00\ud55c \uc815\ubcf4\uc640 \uc2a4\ud0dd\uc758 \uae4a\uc774\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub294 - <a href=\"#GetOwnedMonitorStackDepthInfo\"><code>GetOwnedMonitorStackDepthInfo<\/code><\/a><\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiMonitorStackDepthInfo\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiMonitorStackDepthInfo<\/code> - \ubaa8\ub2c8\ud130 \uc2a4\ud0dd\uc758 \uae4a\uc774 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorStackDepthInfo.monitor\">monitor<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uc18c\uc720\ub418\ub294 \ubaa8\ub2c8\ud130.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorStackDepthInfo.stack_depth\">stack_depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc2a4\ud0dd\uc758 \uae4a\uc774. <a href=\"#stack\">\uc2a4\ud0dd \ud504\ub808\uc784 \ud568\uc218<\/a>\ub85c \uc0ac\uc6a9\ub418\ub294 \uc2a4\ud0dd\uc758 \uae4a\uc774\uc5d0 \ub300\uc751\ud558\uace0 \uc788\ub2e4. \uc989, 0 \uc740 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc744, 1 \uc740 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc744 \ud638\ucd9c\ud55c \ud504\ub808\uc784\uc744 \uac01\uac01 \ub098\ud0c0\ub0b8\ub2e4. \ub610, \uad6c\ud604\uc774 \uc2a4\ud0dd\uc758 \uae4a\uc774\ub97c \ud310\ub2e8\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\ub294 - 1 \uc774 \ub41c\ub2e4 (JNI \uc758 <code>MonitorEnter<\/code> \ub97c \uc0ac\uc6a9\ud574 \ucde8\ub4dd\ub41c \ubaa8\ub2c8\ud130\uc758 \uacbd\uc6b0 \ub4f1).<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetOwnedMonitorStackDepthInfo.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetOwnedMonitorStackDepthInfo.monitor_info_count_ptr\">monitor_info_count_ptr<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ubc18\ud658\ub418\ub294 \ubaa8\ub2c8\ud130\uc758 \uc218.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetOwnedMonitorStackDepthInfo.monitor_info_ptr\">monitor_info_ptr<\/code><\/td>\n          <td><code><a href=\"#jvmtiMonitorStackDepthInfo\">jvmtiMonitorStackDepthInfo<\/a> **<\/code><\/td>\n           <td>\uc18c\uc720\ub418\ub294 \ubaa8\ub2c8\ud130\uc758 \uae4a\uc774 \uc815\ubcf4\uc758 \ubc30\uc5f4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiMonitorStackDepthInfo*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiMonitorStackDepthInfo*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*owned_monitor_depth_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiThreadGroupInfo<\/code> \uc758 <code>monitor<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_owned_monitor_stack_depth_info\"><code>can_get_owned_monitor_stack_depth_info<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorStackDepthInfo.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorStackDepthInfo.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorStackDepthInfo.monitor_info_count_ptr\"><code>monitor_info_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetOwnedMonitorStackDepthInfo.monitor_info_ptr\"><code>monitor_info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetCurrentContendedMonitor\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud604\uc7ac \uacbd\ud569 \ud558\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetCurrentContendedMonitor(jvmtiEnv* env,\n            jthread thread,\n            jobject* monitor_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\uac00,<code>java.lang.Object.wait<\/code> \ub97c \uc0ac\uc6a9\ud574 \uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130\uc5d0 \ub4e4\uc5b4\uac00\ub294\uc9c0, \ubaa8\ub2c8\ud130\ub97c \ub2e4\uc2dc \ud558\ub294 \uac83 \ub97c \ub300\uae30\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\uc5d0, \uadf8 \uac1d\uccb4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>11<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_current_contended_monitor\"><code>can_get_current_contended_monitor<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentContendedMonitor\"><code>GetCurrentContendedMonitor<\/code><\/a> \ub97c \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetCurrentContendedMonitor.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetCurrentContendedMonitor.monitor_ptr\">monitor_ptr<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud604\uc7ac \uacbd\ud569 \ud558\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4. \uadf8\ub7ec\ud55c \ubaa8\ub2c8\ud130\uac00 \uc5c6\ub294 \uacbd\uc6b0\ub294 NULL \uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jobject<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jobject<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>monitors_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_current_contended_monitor\"><code>can_get_current_contended_monitor<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentContendedMonitor.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentContendedMonitor.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentContendedMonitor.monitor_ptr\"><code>monitor_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiStartFunction\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc5d0\uc774\uc804\ud2b8 \uae30\ub3d9 \ud568\uc218<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n  <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef void (JNICALL *jvmtiStartFunction)\n    (jvmtiEnv* jvmti_env,\n     JNIEnv* jni_env,\n     void* arg);<\/pre>\n           <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. \uc774 \ud568\uc218\ub294,<a href=\"#RunAgentThread\"><code>RunAgentThread<\/code><\/a> \ub85c \uac1c\uc2dc\ub418\ub294 \uc5d0\uc774\uc804\ud2b8 thread\uc758 \uc5d4\ud2b8\ub9ac \ud3ec\uc778\ud2b8\uac00 \ub429\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStartFunction.jvmti_env\">jvmti_env<\/code><\/td>\n                       <td><code><a href=\"#jvmtiEnv\">jvmtiEnv<\/a> *<\/code><\/td>\n                        <td>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStartFunction.jni_env\">jni_env<\/code><\/td>\n                       <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n                        <td>JNI \ud658\uacbd<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStartFunction.arg\">arg<\/code><\/td>\n                       <td><code>void *<\/code><\/td>\n                      <td><a href=\"#RunAgentThread\"><code>RunAgentThread<\/code><\/a> \uc5d0\uac8c \uac74\ub124\uc9c4 <code>arg<\/code> \ud30c\ub77c\ubbf8\ud130.<\/td>\n                   <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RunAgentThread\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc5d0\uc774\uc804\ud2b8 thread\uc758 \uc2e4\ud589<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRunAgentThread(jvmtiEnv* env,\n            jthread thread,\n            jvmtiStartFunction proc,\n            const void* arg,\n            jint priority)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c \ub124\uc774\ud2f0\ube0c \ud568\uc218\ub97c \uc0ac\uc6a9\ud574, \uc5d0\uc774\uc804\ud2b8 thread\uc758 \uc2e4\ud589\uc744 \uac1c\uc2dc\ud569\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130 <a href=\"#RunAgentThread.arg\"><code>arg<\/code><\/a> \ub294<a href=\"#jvmtiStartFunction\">\uae30\ub3d9 \ud568\uc218<\/a> (<a href=\"#RunAgentThread.proc\"><code>proc<\/code><\/a> \ub85c \uc9c0\uc815)\uc758 \ub2e8\uc77c\uc758 \uc778\uc218\ub85c\uc11c \uc804\uc1a1 \ub429\ub2c8\ub2e4. \uc774 \ud568\uc218\uc5d0 \uc758\ud574,<code>java.lang.Thread<\/code> \uc758 \ud2b9\ubcc4\ud55c \uc11c\ube0c \ud074\ub798\uc2a4\ub098 <code>java.lang.Runnable<\/code> \uc758 \uad6c\ud604\uce21\uc744 \ub85c\ub4dc\ud558\uc9c0 \uc54a\uace0 , \ub2e4\ub978 \ud504\ub85c\uc138\uc2a4\uc640\uc758 \ud1b5\uc2e0 \ucc98\ub9ac \ub610\ub294 \uc774\ubca4\ud2b8 \ucc98\ub9ac\uc6a9\uc758 \uc5d0\uc774\uc804\ud2b8 thread\ub97c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \ub300\uc2e0\ud574, \uc791\uc131\ub41c thread\ub294 \uc644\uc804\ud558\uac8c native code\ub0b4\uc5d0\uc11c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc, \uc791\uc131\ud558\ub294 thread\uc5d0\ub294,<code>java.lang.Thread<\/code> \uc758 \uc0c8\ub86d\uac8c \uc791\uc131\ub41c \uc778\uc2a4\ud134\uc2a4 (\uc778\uc218 <code>thread<\/code> \uc5d0 \uc758\ud574 \ucc38\uc870\ub41c\ub2e4)\uac00 \ud544\uc694\ud574, \uadf8 \uc778\uc2a4\ud134\uc2a4\uc5d0 thread\ub97c \uad00\ub828\uc9d3\uc2b5\ub2c8\ub2e4. thread \uac1d\uccb4\ub294, JNI \ud638\ucd9c\ub85c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\uc74c\uc5d0 \uc77c\ubc18\uc801\uc778 thread \uc6b0\uc120 \uc21c\uc704\ub97c \ucc38\uace0\ub85c\uc11c \uac00\ub9ac\ud0b5\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiThreadPriority\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">thread \uc6b0\uc120 \uc21c\uc704 \uc815\uc218<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_MIN_PRIORITY\">JVMTI_THREAD_MIN_PRIORITY<\/code><\/td>\n          <td align=\"right\">1<\/td>\n            <td>\uc81c\uc77c \ub0ae\uc740 \uc6b0\uc120 \uc21c\uc704<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_NORM_PRIORITY\">JVMTI_THREAD_NORM_PRIORITY<\/code><\/td>\n            <td align=\"right\">5<\/td>\n            <td>\uc911\uac04\uc758 \uc6b0\uc120 \uc21c\uc704<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_THREAD_MAX_PRIORITY\">JVMTI_THREAD_MAX_PRIORITY<\/code><\/td>\n          <td align=\"right\">10<\/td>\n           <td>\uc81c\uc77c \ub192\uc740 \uc6b0\uc120 \uc21c\uc704<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc0c8\ub85c\uc6b4 thread\ub294, \uc9c0\uc815\uc758<a href=\"#RunAgentThread.priority\"><code>\uc6b0\uc120 \uc21c\uc704<\/code><\/a> \ub85c, demon thread\ub85c\uc11c \uae30\ub3d9\ub429\ub2c8\ub2e4. \uc720\ud6a8\ud55c \uacbd\uc6b0\ub294,<a href=\"#ThreadStart\"><code>ThreadStart<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread\uc758 \uae30\ub3d9\uc774 \uc644\ub8cc\ud558\uace0 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 thread\ub294 \uc774 \ud568\uc218\uac00 \ub3cc\uc544\uc62c \ub54c\uc5d0 \ub77c\uc774\ube0c \uc0c1\ud0dc\uac00 \ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc, \uc774 thread\uac00 \uace7\ubc14\ub85c \uc885\ub8cc\ud588\uc744 \uacbd\uc6b0\ub294 \uc81c\uc678\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 thread\uc758 thread \uadf8\ub8f9\uc740 \ubb34\uc2dc\ub429\ub2c8\ub2e4. \uad6c\uccb4\uc801\uc73c\ub85c\ub294, \uc774 thread\ub294, thread \uadf8\ub8f9\uc5d0 \ucd94\uac00\ub418\uc9c0 \uc54a\uace0, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uc5b4\ub290 \ub808\ubca8\uc5d0\uc11c\ub3c4 thread \uadf8\ub8f9\uc758 \ucffc\ub9ac\uc5d0\ub294 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 thread\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucffc\ub9ac\uc5d0\uc11c\ub294 \ud45c\uc2dc\ub429\ub2c8\ub2e4\ub9cc,<a href=\"#GetAllThreads\"><code>GetAllThreads<\/code><\/a> \ub098 <a href=\"#GetAllStackTraces\"><code>GetAllStackTraces<\/code><\/a> \ub4f1, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ucffc\ub9ac\uc5d0\ub294 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>proc<\/code> \uc758 \uc2e4\ud589\uc2dc\uc5d0, \uc0c8\ub85c\uc6b4 thread\ub294 VM \uc5d0 \uc811\uc18d\ub429\ub2c8\ub2e4. JNI \uc758 \uba54\ub274\uc5bc\uc758<a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/technotes\/guides\/jni\/spec\/invocation.html#wp1060\">\u300cAttaching to the VM\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>12<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RunAgentThread.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc2e4\ud589\ud558\ub294 thread.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RunAgentThread.proc\">proc<\/code><\/td>\n         <td><code><a href=\"#jvmtiStartFunction\">jvmtiStartFunction<\/a> <\/code><\/td>\n         <td>\uae30\ub3d9 \ud568\uc218\n         <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RunAgentThread.arg\">arg<\/code><\/td>\n           <td><code>const void *<\/code><\/td>\n            <td>\uae30\ub3d9 \ud568\uc218\uc758 \uc778\uc218.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>arg<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uae30\ub3d9 \ud568\uc218\uc5d0 <code>NULL<\/code> \uac00 \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"RunAgentThread.priority\">priority<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uac1c\uc2dc\ub418\ub294 thread\uc758 \uc6b0\uc120 \uc21c\uc704. <code>java.lang.Thread.setPriority<\/code> \ub85c \ud5c8\uac00\ub418\uace0 \uc788\ub294 thread \uc6b0\uc120 \uc21c\uc704\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4 (<a href=\"#jvmtiThreadPriority\"><code>jvmtiThreadPriority<\/code><\/a> \uc758 \uc6b0\uc120 \uc21c\uc704\ub97c \ud3ec\ud568\ud55c\ub2e4).<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_PRIORITY\"><code>JVMTI_ERROR_INVALID_PRIORITY<\/code><\/a><\/td>\n          <td><a href=\"#RunAgentThread.priority\"><code>priority<\/code><\/a> \uac00 <a href=\"#JVMTI_THREAD_MIN_PRIORITY\"><code>JVMTI_THREAD_MIN_PRIORITY<\/code><\/a> \ubcf4\ub2e4 \ub0ae\uc740\uac00 <a href=\"#JVMTI_THREAD_MAX_PRIORITY\"><code>JVMTI_THREAD_MAX_PRIORITY<\/code><\/a> \ubcf4\ub2e4 \ub192\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#RunAgentThread.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#RunAgentThread.proc\"><code>proc<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetThreadLocalStorage\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetThreadLocalStorage(jvmtiEnv* env,\n            jthread thread,\n            const void* data)<\/pre>\n<\/blockquote>\n\n<p>VM \ub294, \uac1c\uac1c\uc758 \ud658\uacbd thread \ud398\uc5b4\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc5c8\ub358 \ud3ec\uc778\ud130\uce58\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4. \uc774 \ud3ec\uc778\ud130\uce58\ub97c \u300cthread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\u300d\uc774\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4. \uc774 \ud568\uc218\ub85c \uc124\uc815\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \uac12\uc740 <code>NULL<\/code> \uac00 \ub429\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294, thread \uace0\uc720\uc758 \uc815\ubcf4\ub97c \ud3ec\ud568\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc744 \uc124\uc815\ud558\ub294 \uac83\uc73c\ub85c\uc368,<a href=\"#GetThreadLocalStorage\"><code>GetThreadLocalStorage<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc561\uc138\uc2a4 \ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ubd88\ub824 \uac11\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294, \uc5d0\uc774\uc804\ud2b8\uc5d0 \ub300\ud574\uc11c, thread\ub9c8\ub2e4\uc758 \uc815\ubcf4\ub97c \uae30\ub85d\ud558\uae30 \uc704\ud574\uc11c \uc774\uc6a9\ud560 \uc218 \uc788\ub294, \ud3ec\uc778\ud130 \uc0ac\uc774\uc988\uc758 thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>103<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetThreadLocalStorage.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc774 thread\ub97c \ud3ec\ud568\ud55c\ub2e4. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetThreadLocalStorage.data\">data<\/code><\/td>\n          <td><code>const void *<\/code><\/td>\n            <td>thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc5d0 \uc785\ub825\ud558\ub294 \uac12.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uac12\uc740 <code>NULL<\/code> \ub85c \uc124\uc815\ub41c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetThreadLocalStorage.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetThreadLocalStorage.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadLocalStorage\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetThreadLocalStorage(jvmtiEnv* env,\n            jthread thread,\n            void** data_ptr)<\/pre>\n<\/blockquote>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uac12\uc744 \ucde8\ub4dd\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>102<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadLocalStorage.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc774 thread\ub85c\ubd80\ud130 \ucde8\ub4dd\ud55c\ub2e4. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetThreadLocalStorage.data_ptr\">data_ptr<\/code><\/td>\n          <td><code>void**<\/code><\/td>\n          <td>thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uac12\uc744 \ub3cc\ub824\uc8fc\ub294 \ud3ec\uc778\ud130. thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc774 <a href=\"#SetThreadLocalStorage\"><code>SetThreadLocalStorage<\/code><\/a> \ub85c \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294 <code>NULL<\/code>.\n          <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadLocalStorage.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadLocalStorage.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadLocalStorage.data_ptr\"><code>data_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"thread_groups\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">thread \uadf8\ub8f9<\/h2>\n\n<p>thread \uadf8\ub8f9 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#GetTopThreadGroups\">\ud1b1 \ub808\ubca8\uc758 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetThreadGroupInfo\">thread \uadf8\ub8f9 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetThreadGroupChildren\">\uc544\uc774 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>thread \uadf8\ub8f9\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n <li><a href=\"#jvmtiThreadGroupInfo\"><code>jvmtiThreadGroupInfo<\/code><\/a> - thread \uadf8\ub8f9 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetTopThreadGroups\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud1b1 \ub808\ubca8\uc758 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetTopThreadGroups(jvmtiEnv* env,\n            jint* group_count_ptr,\n            jthreadGroup** groups_ptr)<\/pre>\n<\/blockquote>\n\n<p>VM \ub0b4\uc758 \ud1b1 \ub808\ubca8\uc758 (\ubd80\ubaa8\uac00 \uc5c6\ub2e4) thread \uadf8\ub8f9\uc744 \ubaa8\ub450 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>13<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetTopThreadGroups.group_count_ptr\">group_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud1b1 \ub808\ubca8\uc758 thread \uadf8\ub8f9\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetTopThreadGroups.groups_ptr\">groups_ptr<\/code><\/td>\n         <td><code><a href=\"#jthreadGroup\">jthreadGroup<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud1b1 \ub808\ubca8\uc758 thread \uadf8\ub8f9\uc758 \ubc30\uc5f4\uc744 \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130\ub97c \ucc38\uc870\ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthreadGroup*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jthreadGroup*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*group_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>groups_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetTopThreadGroups.group_count_ptr\"><code>group_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetTopThreadGroups.groups_ptr\"><code>groups_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadGroupInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread \uadf8\ub8f9 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jthreadGroup parent;\n    char* name;\n    jint max_priority;\n    jboolean is_daemon;\n} jvmtiThreadGroupInfo;<\/pre>\n\n<pre>\njvmtiError\nGetThreadGroupInfo(jvmtiEnv* env,\n            jthreadGroup group,\n            jvmtiThreadGroupInfo* info_ptr)<\/pre>\n<\/blockquote>\n\n<p>thread \uadf8\ub8f9\uc758 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#jvmtiThreadGroupInfo\"><code>jvmtiThreadGroupInfo<\/code><\/a> \uad6c\uc870\uccb4\uc758 \ud544\ub4dc\uc5d0, \uc9c0\uc815\ub41c thread \uadf8\ub8f9\uc758 \uc0c1\uc138\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>14<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiThreadGroupInfo\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiThreadGroupInfo<\/code> - thread \uadf8\ub8f9 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadGroupInfo.parent\">parent<\/code><\/td>\n           <td><code><a href=\"#jthreadGroup\">jthreadGroup<\/a> <\/code><\/td>\n         <td>\uce5cthread \uadf8\ub8f9.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadGroupInfo.name\">name<\/code><\/td>\n           <td><code>char *<\/code><\/td>\n          <td>thread \uadf8\ub8f9\uc758 \uc774\ub984. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadGroupInfo.max_priority\">max_priority<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774 thread \uadf8\ub8f9\uc758 \ucd5c\uace0\uc758 \uc6b0\uc120 \uc21c\uc704.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiThreadGroupInfo.is_daemon\">is_daemon<\/code><\/td>\n         <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>demon thread \uadf8\ub8f9\uc778\uac00 \uc5b4\ub5a4\uac00.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupInfo.group\">group<\/code><\/td>\n           <td><code><a href=\"#jthreadGroup\">jthreadGroup<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 thread \uadf8\ub8f9.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupInfo.info_ptr\">info_ptr<\/code><\/td>\n         <td><code><a href=\"#jvmtiThreadGroupInfo\">jvmtiThreadGroupInfo<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc9c0\uc815\ub41c thread \uadf8\ub8f9\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiThreadGroupInfo<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiThreadGroupInfo<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>jvmtiThreadGroupInfo<\/code> \uc758 <code>parent<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiThreadGroupInfo<\/code> \uc758 <code>name<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD_GROUP\"><code>JVMTI_ERROR_INVALID_THREAD_GROUP<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupInfo.group\"><code>group<\/code><\/a> \ub294 thread \uadf8\ub8f9 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupInfo.info_ptr\"><code>info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadGroupChildren\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc544\uc774 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetThreadGroupChildren(jvmtiEnv* env,\n            jthreadGroup group,\n            jint* thread_count_ptr,\n            jthread** threads_ptr,\n            jint* group_count_ptr,\n            jthreadGroup** groups_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 thread \uadf8\ub8f9\ub0b4\uc758 \uc561\ud2f0\ube0c thread\uc640 \uc561\ud2f0\ube0c \uc18c\uadf8\ub8f9\uc744 \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>15<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupChildren.group\">group<\/code><\/td>\n           <td><code><a href=\"#jthreadGroup\">jthreadGroup<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \uadf8\ub8f9.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupChildren.thread_count_ptr\">thread_count_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 thread \uadf8\ub8f9\ub0b4\uc758 \uc561\ud2f0\ube0c thread\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupChildren.threads_ptr\">threads_ptr<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 thread \uadf8\ub8f9\ub0b4\uc758 \uc561\ud2f0\ube0c thread\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthread*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jthread*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*thread_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>threads_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupChildren.group_count_ptr\">group_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc561\ud2f0\ube0c\ud55c \uc544\uc774 thread \uadf8\ub8f9\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetThreadGroupChildren.groups_ptr\">groups_ptr<\/code><\/td>\n         <td><code><a href=\"#jthreadGroup\">jthreadGroup<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc561\ud2f0\ube0c\ud55c \uc544\uc774 thread \uadf8\ub8f9\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthreadGroup*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jthreadGroup*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*group_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>groups_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD_GROUP\"><code>JVMTI_ERROR_INVALID_THREAD_GROUP<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupChildren.group\"><code>group<\/code><\/a> \ub294 thread \uadf8\ub8f9 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupChildren.thread_count_ptr\"><code>thread_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupChildren.threads_ptr\"><code>threads__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupChildren.group_count_ptr\"><code>group_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadGroupChildren.groups_ptr\"><code>groups_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"stack\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uc2a4\ud0dd \ud504\ub808\uc784<\/h2>\n\n<p>\uc2a4\ud0dd \ud504\ub808\uc784 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#GetStackTrace\">\uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetAllStackTraces\">\ubaa8\ub4e0 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetThreadListStackTraces\">threaded list\uc758 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetFrameCount\">\ud504\ub808\uc784 \uce74\uc6b4\ud2b8\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#PopFrame\">\ud504\ub808\uc784\uc758 \ud31d<\/a><\/li>\n    <li><a href=\"#GetFrameLocation\">\ud504\ub808\uc784\uc758 \uc704\uce58\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#NotifyFramePop\">\ud504\ub808\uc784\uc758 \ud31d\uc758 \ud1b5\uc9c0<\/a><\/li>\n<\/ul>\n\n<p>\uc2a4\ud0dd \ud504\ub808\uc784\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n  <li><a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a> - \uc2a4\ud0dd \ud504\ub808\uc784 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n    <li><a href=\"#jvmtiStackInfo\"><code>jvmtiStackInfo<\/code><\/a> - \uc2a4\ud0dd \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, thread\uc758 \uc2a4\ud0dd\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc2a4\ud0dd \ud504\ub808\uc784\uc740, \uae4a\uc774\ub85c \ucc38\uc870\ub429\ub2c8\ub2e4. \uae4a\uc774 \uc81c\ub85c\uc758 \ud504\ub808\uc784\uc774 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc2a4\ud0dd \ud504\ub808\uc784\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/Overview.doc.html#17257\">\u300cFrames\u300d<\/a>\uc139\uc158\uc5d0 \uae30\uc7ac\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \uc774\ub7ec\ud55c \ud504\ub808\uc784\uc740, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ud3ec\ud568\ud55c \uba54\uc18c\ub4dc\uc758 \ud638\ucd9c\uc5d0 \ub300\uc751\ud558\uace0 \uc788\uc9c0\ub9cc, \ud50c\ub7ab\ud3fc \uace0\uc720\uc758 \ud504\ub808\uc784\uc774\ub098 VM \ub0b4\ubd80\uc758 \ud504\ub808\uc784\uc5d0\ub294 \ub300\uc751\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc774 \uba54\uc18c\ub4dc \ud638\ucd9c\uc744 \uc0ac\uc6a9\ud574 thread\ub97c \uae30\ub3d9\ud574, \uc774\ub7ec\ud55c \ud568\uc218\uac00 \uc81c\uacf5\ud558\ub294 \uc2a4\ud0dd\ub0b4\uc5d0, \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc744 \ud3ec\ud568\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc989,<code>main()<\/code> \ub098 <code>run()<\/code> \ubcf4\ub2e4 \uae4a\uc740 \uc704\uce58\uc5d0 \ud45c\uc2dc\ub418\ub294 \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uac8c \ub429\ub2c8\ub2e4. \ub2e4\ub9cc, \uc774 \uc81c\uacf5\uc740, \uc2a4\ud0dd \ud504\ub808\uc784 \ub610\ub294 \uc2a4\ud0dd\uc758 \uae4a\uc774\ub97c \uc0ac\uc6a9\ud558\ub294 \ubaa8\ub4e0 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uae30\ub2a5\uacfc \ubb34\uacb0\uc131\uc774 \uc7a1\ud78c \uac83\uc774 \uc544\ub2c8\uba74 \uc548\ub429\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"jvmtiFrameInfo\">\uc2a4\ud0dd \ud504\ub808\uc784 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p>\uc2a4\ud0dd \ud504\ub808\uc784\uc5d0 \uad00\ud55c \uc815\ubcf4\ub294 \ub2e4\uc74c\uc758 \uad6c\uc870\uccb4\ub85c \ub418\ub3cc\ub824\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jmethodID method;\n    jlocation location;\n} jvmtiFrameInfo;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiFrameInfo<\/code> - \uc2a4\ud0dd \ud504\ub808\uc784 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiFrameInfo.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc774 \ud504\ub808\uc784\ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uba54\uc18c\ub4dc.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiFrameInfo.location\">location<\/code><\/td>\n         <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc774 \ud504\ub808\uc784\ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uba85\ub839\uc758 \uc778\ub371\uc2a4. \ud504\ub808\uc784\uc774 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\ub294 <code>-1<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiStackInfo\">\uc2a4\ud0dd \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p>\uc2a4\ud0dd \ud504\ub808\uc784 \uc138\ud2b8\uc5d0 \uad00\ud55c \uc815\ubcf4\ub294 \ub2e4\uc74c\uc758 \uad6c\uc870\uccb4\ub85c \ub418\ub3cc\ub824\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\njthread thread;\n    jint state;\n    jvmtiFrameInfo* frame_buffer;\n    jint frame_count;\n} jvmtiStackInfo;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiStackInfo<\/code> - \uc2a4\ud0dd \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiStackInfo.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud2b8\ub808\uc774\uc2a4 \ub41c thread.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiStackInfo.state\">state<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, thread \uc0c1\ud0dc. <a href=\"#GetThreadState\"><code>\u300cGetThreadState\u300d<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiStackInfo.frame_buffer\">frame_buffer<\/code><\/td>\n         <td><code><a href=\"#jvmtiFrameInfo\">jvmtiFrameInfo<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc84\ud37c\uc5d0, \uc2a4\ud0dd \ud504\ub808\uc784 \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiStackInfo.frame_count\">frame_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ub808\ucf54\ub4dc\uc218\uac00 <code>frame_buffer<\/code> \uc5d0 \ub4e4\uc5b4\uac00 \uc788\ub2e4. \uc774\uac83\uc740 min(<code>max_frame_count<\/code>, <i>stackDepth<\/i>)\uac00 \ub41c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetStackTrace\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetStackTrace(jvmtiEnv* env,\n            jthread thread,\n            jint start_depth,\n            jint max_frame_count,\n            jvmtiFrameInfo* frame_buffer,\n            jint* count_ptr)<\/pre>\n<\/blockquote>\n\n<p>thread\uc758 \uc2a4\ud0dd\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#GetStackTrace.max_frame_count\"><code>max_frame_count<\/code><\/a> \uac00 \uc2a4\ud0dd\uc758 \uae4a\uc774\ubcf4\ub2e4 \uc791\uc740 \uacbd\uc6b0,<a href=\"#GetStackTrace.max_frame_count\"><code>max_frame_count<\/code><\/a> \uc758 \ub9e8 \uc704\uc758 \ud504\ub808\uc784\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0, \uc2a4\ud0dd \uc804\uccb4\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc5d0 \ubd88\ub824 \uac04 \ud504\ub808\uc784\uc778 \ucd5c\uc0c1\uc815\ub3c4 \ud504\ub808\uc784\uc774, \ubc18\ud658\ub418\ub294 \ubc84\ud37c\uc758 \uc120\ub450\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\uc74c\uc758 \uc608\uc5d0\uc11c\ub294, \ub9e8 \uc704\uc758 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130 5 \uac1c\uc9f8\uae4c\uc9c0\uc758 \ud504\ub808\uc784\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uac8c\ub2e4\uac00 \ud504\ub808\uc784\uc774 \uc788\ub294 \uacbd\uc6b0\ub294, \ud604\uc7ac \uc2e4\ud589\ud558\uace0 \uc788\ub294 \uba54\uc18c\ub4dc\uc758 \uc774\ub984\uc774 \ucd9c\ub825\ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\njvmtiFrameInfo frames[5];\njint count;\njvmtiError err;\n\nerr = (*jvmti)-&gt;GetStackTrace(jvmti, aThread, 0, 5,\n                               &amp;frames, &amp;count);\nif (err == JVMTI_ERROR_NONE &amp;&amp; count &gt;= 1) {\n   char *methodName;\n   err = (*jvmti)-&gt;GetMethodName(jvmti, frames[0]. method,\n                       &amp;methodName, NULL);\n   if (err == JVMTI_ERROR_NONE) {\n      printf(&quot;Executing method: %s&quot;, methodName);\n   }\n}\n        <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetStackTrace.thread\"><code>thread<\/code><\/a> \ub294, \uc911\ub2e8\ud558\ub294 \uc77c \uc5c6\uc774, \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc704\uce58\uc640 \ud589 \ubc88\ud638\uc758 \ub9e4\ud551\uc5d0\ub294,<a href=\"#GetLineNumberTable\"><code>GetLineNumberTable<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub9e4\ud551\uc740, \uc9c0\uc5f0 \ud574\ub3c4 \uad1c\ucc2e\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>104<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetStackTrace.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc774 thread\uc758 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\ub97c \ud398\uce58 \ud55c\ub2e4. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetStackTrace.start_depth\">start_depth<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774 \uae4a\uc774\ub85c \ud504\ub808\uc784\uc758 \ucde8\ub4dd\uc744 \uac1c\uc2dc\ud55c\ub2e4. \ubd80\uc758 \uc218\uac00 \uc544\ub2cc \uacbd\uc6b0, \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130 \uce74\uc6b4\ud2b8 \ud55c\ub2e4. \uae4a\uc774\uac00 <code>start_depth<\/code> \uc758 \ud504\ub808\uc784\uc774 \ucd5c\ucd08\ub85c \ucde8\ub4dd\ub41c\ub2e4. \uc608\ub97c \ub4e4\uc5b4, 0 \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130 \uac1c\uc2dc\ud55c\ub2e4. 1 \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc758 \ud638\ucd9c\uce21\uc73c\ub85c\ubd80\ud130 \uac1c\uc2dc\ud55c\ub2e4. 2 \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc758 \ud638\ucd9c\uce21\uc758 \ud638\ucd9c\uce21\uc73c\ub85c\ubd80\ud130 \uac1c\uc2dc\ud55c\ub2e4. \ubd80\uc758 \uc218\uc758 \uacbd\uc6b0, \uc81c\uc77c \ub0a1\uc740 \ud504\ub808\uc784\uc544\ub798\ub85c\ubd80\ud130 \uce74\uc6b4\ud2b8 \ud55c\ub2e4. \uae4a\uc774\uac00 <i>stackDepth<\/i><code>+ start_depth<\/code> (<i>stackDepth<\/i> \ub294 \uc2a4\ud0dd\uc0c1\uc758 \ud504\ub808\uc784\uc758 \uce74\uc6b4\ud2b8)\uc758 \ud504\ub808\uc784\uc774 \ucd5c\ucd08\ub85c \ucde8\ub4dd\ub41c\ub2e4. \uc608\ub97c \ub4e4\uc5b4,-1 \uc758 \uacbd\uc6b0, \uc81c\uc77c \ub0a1\uc740 \ud504\ub808\uc784\ub9cc\uc774 \ucde8\ub4dd\ub41c\ub2e4. -2 \uc758 \uacbd\uc6b0, \uc81c\uc77c \ub0a1\uc740 \ud504\ub808\uc784\uc5d0 \uc758\ud574 \ubd88\ub824 \uac04 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130 \uac1c\uc2dc\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetStackTrace.max_frame_count\">max_frame_count<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ucde8\ub4dd\ud558\ub294 <a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a> \ub808\ucf54\ub4dc\uc758 \ucd5c\ub300\uc218.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetStackTrace.frame_buffer\">frame_buffer<\/code><\/td>\n          <td><code><a href=\"#jvmtiFrameInfo\">jvmtiFrameInfo<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc84\ud37c\uc5d0, \uc2a4\ud0dd \ud504\ub808\uc784 \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>jvmtiFrameInfo<\/code> \uc758 <code>max_frame_count<\/code> \uc694\uc18c\ub97c \ucda9\ubd84\ud788 \ubcf4\uad00 \uc720\uc9c0\ud560 \uc218 \uc788\ub294 \ud06c\uae30\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4. \ubc30\uc5f4\uc758 \uc694\uc18c\uc758 \uac12\uc740 \ubb34\uc2dc\ub41c\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c, \uc694\uc18c\uc758 <code>*count_ptr<\/code> \uac00 \uc124\uc815\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetStackTrace.count_ptr\">count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc815\ubcf4\uac00 \uc785\ub825\ub418\ub294 \ub808\ucf54\ub4dc\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. <code> start_depth<\/code> \uac00 \ubd80\uc758 \uc218\uac00 \uc544\ub2cc \uacbd\uc6b0, min(<code>max_frame_count<\/code>, <i>stackDepth<\/i><code> - start_depth<\/code>). <code>start_depth<\/code> \uac00 \ubd80\uc758 \uc218\uc758 \uacbd\uc6b0, min(<code>max_frame_count<\/code>, <code>-start_depth<\/code>).\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetStackTrace.start_depth\"><code>start_depth<\/code><\/a> \uac00 \uc815\uc73c\ub85c,<i>stackDepth<\/i> \uc640 \ub3d9\uc77c\ud55c\uac00 \uadf8\uac83\ubcf4\ub2e4 \ud06c\ub2e4. \ub610\ub294,<a href=\"#GetStackTrace.start_depth\"><code>start_depth<\/code><\/a> \uac00 \ubd80\ub85c,<i>-stackDepth<\/i> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetStackTrace.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetStackTrace.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetStackTrace.max_frame_count\"><code>max_frame_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetStackTrace.frame_buffer\"><code>frame_buffer<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetStackTrace.count_ptr\"><code>count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetAllStackTraces\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubaa8\ub4e0 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetAllStackTraces(jvmtiEnv* env,\n            jint max_frame_count,\n            jvmtiStackInfo** stack_info_ptr,\n            jint* thread_count_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ubaa8\ub4e0 \ub77c\uc774\ube0c thread\uc758 \uc2a4\ud0dd\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4 (<a href=\"#RunAgentThread\">\uc5d0\uc774\uc804\ud2b8 thread<\/a>\ub97c \ud3ec\ud568\ud55c\ub2e4). <a href=\"#GetAllStackTraces.max_frame_count\"><code>max_frame_count<\/code><\/a> \uac00 \uc2a4\ud0dd\uc758 \uae4a\uc774\ubcf4\ub2e4 \uc791\uc740 \uacbd\uc6b0, \uadf8 thread\uc5d0 \ub300\ud574 <a href=\"#GetAllStackTraces.max_frame_count\"><code>max_frame_count<\/code><\/a> \uc758 \ub9e8 \uc704\uc758 \ud504\ub808\uc784\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0, \uc2a4\ud0dd \uc804\uccb4\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc5d0 \ubd88\ub824 \uac04 \ud504\ub808\uc784\uc778 \ucd5c\uc0c1\uc815\ub3c4 \ud504\ub808\uc784\uc774, \ubc18\ud658\ub418\ub294 \ubc84\ud37c\uc758 \uc120\ub450\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubaa8\ub4e0 \uc2a4\ud0dd\uc740, \ub3d9\uc2dc\uc5d0 \uc218\uc9d1\ub429\ub2c8\ub2e4. \uc989, \uc5b4\ub290 thread\uc758 \uc0d8\ud50c\ub9c1\uacfc \ub2e4\uc74c\uc758 thread\uc758 \uc0d8\ud50c\ub9c1\uacfc\uc758 \uc0ac\uc774\uc5d0\ub294, thread \uc0c1\ud0dc \ub610\ub294 \uc2a4\ud0dd\uc73c\ub85c \ubcc0\uacbd\uc740 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. thread\ub97c \uc911\ub2e8\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\njvmtiStackInfo *stack_info;\njint thread_count;\nint ti;\njvmtiError err;\n\nerr = (*jvmti)-&gt;GetAllStackTraces(jvmti, MAX_FRAMES, &amp;stack_info, &amp;thread_count);\nif (err ! = JVMTI_ERROR_NONE) {\n   ...\n}\nfor (ti = 0; ti &lt; thread_count; ++ti) {\n   jvmtiStackInfo *infop = &amp;stack_info[ti];\n   jthread thread = infop-&gt;thread;\n   jint state = infop-&gt;state;\n   jvmtiFrameInfo *frames = infop-&gt;frame_buffer;\n   int fi;\n\n   myThreadAndStatePrinter(thread, state);\n   for (fi = 0; fi &lt; infop-&gt;frame_count; fi++) {\n      myFramePrinter(frames[fi]. method, frames[fi]. location);\n   }\n}\n\/* this one Deallocate call frees all data allocated by GetAllStackTraces *\/\nerr = (*jvmti)-&gt;Deallocate(jvmti, stack_info);\n        <\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>100<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetAllStackTraces.max_frame_count\">max_frame_count<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>thread \ub9c8\ub2e4 \ucde8\ub4dd\ud558\ub294 <a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a> \ub808\ucf54\ub4dc\uc758 \ucd5c\ub300\uc218.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetAllStackTraces.stack_info_ptr\">stack_info_ptr<\/code><\/td>\n          <td><code><a href=\"#jvmtiStackInfo\">jvmtiStackInfo<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c\uc5d0, \uc774 \ubc84\ud37c\uc5d0 \uac01 thread\uc758 \uc2a4\ud0dd \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4. <a href=\"#jvmtiStackInfo\"><code>jvmtiStackInfo<\/code><\/a> \uc758 \ub808\ucf54\ub4dc\uc218\ub294,<a href=\"#GetAllStackTraces.thread_count_ptr\"><code>thread_count_ptr<\/code><\/a> \ub85c \uacb0\uc815\ub41c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc774 \ubc84\ud37c\ub294,<a href=\"#jvmtiStackInfo.frame_buffer\"><code>jvmtiStackInfo.frame_buffer<\/code><\/a> \ub85c \ud3ec\uc778\ud2b8 \ub41c <a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a> \ubc84\ud37c\ub97c \ud3ec\ud568\ud558\ub3c4\ub85d(\ub4ef\uc774) \ud560\ub2f9\ud560 \uc218 \uc788\uace0 \uc788\ub2e4. \uc774\ub7ec\ud55c \ubc84\ud37c\ub294, \ub530\ub85c \ub530\ub85c \ud574\uc81c\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4.\n\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiStackInfo*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiStackInfo*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiStackInfo<\/code> \uc758 <code>thread<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetAllStackTraces.thread_count_ptr\">thread_count_ptr<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ud2b8\ub808\uc774\uc2a4 \ub41c thread\uc758 \uc218.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetAllStackTraces.max_frame_count\"><code>max_frame_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetAllStackTraces.stack_info_ptr\"><code>stack_info_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetAllStackTraces.thread_count_ptr\"><code>thread_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadListStackTraces\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>threaded list\uc758 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetThreadListStackTraces(jvmtiEnv* env,\n            jint thread_count,\n            const jthread* thread_list,\n            jint max_frame_count,\n            jvmtiStackInfo** stack_info_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\uc758 \uc2a4\ud0dd\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#GetThreadListStackTraces.max_frame_count\"><code>max_frame_count<\/code><\/a> \uac00 \uc2a4\ud0dd\uc758 \uae4a\uc774\ubcf4\ub2e4 \uc791\uc740 \uacbd\uc6b0, \uadf8 thread\uc5d0 \ub300\ud574 <a href=\"#GetThreadListStackTraces.max_frame_count\"><code>max_frame_count<\/code><\/a> \uc758 \ub9e8 \uc704\uc758 \ud504\ub808\uc784\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0, \uc2a4\ud0dd \uc804\uccb4\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc5d0 \ubd88\ub824 \uac04 \ud504\ub808\uc784\uc778 \ucd5c\uc0c1\uc815\ub3c4 \ud504\ub808\uc784\uc774, \ubc18\ud658\ub418\ub294 \ubc84\ud37c\uc758 \uc120\ub450\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubaa8\ub4e0 \uc2a4\ud0dd\uc740, \ub3d9\uc2dc\uc5d0 \uc218\uc9d1\ub429\ub2c8\ub2e4. \uc989, \uc5b4\ub290 thread\uc758 \uc0d8\ud50c\ub9c1\uacfc \ub2e4\uc74c\uc758 thread\uc758 \uc0d8\ud50c\ub9c1\uacfc\uc758 \uc0ac\uc774\uc5d0\ub294, thread \uc0c1\ud0dc \ub610\ub294 \uc2a4\ud0dd\uc73c\ub85c \ubcc0\uacbd\uc740 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. thread\ub97c \uc911\ub2e8\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread\uac00 \uc544\uc9c1 \uae30\ub3d9\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740\uc9c0, \uc2a4\ud0dd \uc815\ubcf4\uac00 \uc218\uc9d1\ub418\uae30 \uc804\uc5d0 thread\uac00 \uc885\ub8cc\ud588\uc744 \uacbd\uc6b0\ub294, \uae38\uc774 0 \uc758 \uc2a4\ud0dd (<a href=\"#jvmtiStackInfo.state\"><code>jvmtiStackInfo.frame_count<\/code><\/a> \uac00 0)\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, thread <a href=\"#jvmtiStackInfo.frame_count\"><code>jvmtiStackInfo.state<\/code><\/a> \ub97c \uccb4\ud06c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc608\ub294, \ub3d9\uc77c\ud55c \ud568\uc218 <a href=\"#GetAllStackTraces\"><code>GetAllStackTraces<\/code><\/a> \ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>101<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadListStackTraces.thread_count\">thread_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud2b8\ub808\uc774\uc2a4 \ud558\ub294 thread\uc758 \uc218.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetThreadListStackTraces.thread_list\">thread_list<\/code><\/td>\n         <td><code>const <a href=\"#jthread\">jthread<\/a> *<\/code><\/td>\n            <td>\ud2b8\ub808\uc774\uc2a4 \ud558\ub294 thread\uc758 \ub9ac\uc2a4\ud2b8.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jthread<\/code> \uc758 <code>thread_count<\/code> \uc694\uc18c\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadListStackTraces.max_frame_count\">max_frame_count<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>thread \ub9c8\ub2e4 \ucde8\ub4dd\ud558\ub294 <a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a> \ub808\ucf54\ub4dc\uc758 \ucd5c\ub300\uc218.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetThreadListStackTraces.stack_info_ptr\">stack_info_ptr<\/code><\/td>\n           <td><code><a href=\"#jvmtiStackInfo\">jvmtiStackInfo<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c\uc5d0, \uc774 \ubc84\ud37c\uc5d0 \uac01 thread\uc758 \uc2a4\ud0dd \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4. <a href=\"#jvmtiStackInfo\"><code>jvmtiStackInfo<\/code><\/a> \uc758 \ub808\ucf54\ub4dc\uc218\ub294,<a href=\"#GetThreadListStackTraces.thread_count\"><code>thread_count<\/code><\/a> \ub85c \uacb0\uc815\ub41c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc774 \ubc84\ud37c\ub294,<a href=\"#jvmtiStackInfo.frame_buffer\"><code>jvmtiStackInfo.frame_buffer<\/code><\/a> \ub85c \ud3ec\uc778\ud2b8 \ub41c <a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a> \ubc84\ud37c\ub97c \ud3ec\ud568\ud558\ub3c4\ub85d(\ub4ef\uc774) \ud560\ub2f9\ud560 \uc218 \uc788\uace0 \uc788\ub2e4. \uc774\ub7ec\ud55c \ubc84\ud37c\ub294, \ub530\ub85c \ub530\ub85c \ud574\uc81c\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4.\n\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiStackInfo*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>vmtiStackInfo*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*threads_count<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiStackInfo<\/code> \uc758 <code>thread<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td>thread \uac1d\uccb4\uac00 \uc544\ub2cc \uc694\uc18c\uac00 <a href=\"#GetThreadListStackTraces.thread_list\"><code>thread_list<\/code><\/a> \ub0b4\uc5d0 \uc874\uc7ac\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadListStackTraces.thread_count\"><code>thread_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadListStackTraces.thread_list\"><code>thread_list<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadListStackTraces.max_frame_count\"><code>max_frame_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadListStackTraces.stack_info_ptr\"><code>stack_info_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetFrameCount\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud504\ub808\uc784 \uce74\uc6b4\ud2b8\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetFrameCount(jvmtiEnv* env,\n            jthread thread,\n            jint* count_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c thread\uc758 \ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ud604\uc7ac \ub4e4\uc5b4\uac00 \uc788\ub294 \ud504\ub808\uc784\uc758 \uc218\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc561\ud2f0\ube0c\ud558\uac8c \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub294 thread (\ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 thread\ub4f1)\ub97c \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac14\uc744 \uacbd\uc6b0, \uc77c\uc2dc\uc801\uc778 \uc815\ubcf4\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>16<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFrameCount.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFrameCount.count_ptr\">count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud638\ucd9c \uc2a4\ud0dd\ub0b4\uc758 \ud504\ub808\uc784\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameCount.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameCount.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameCount.count_ptr\"><code>count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"PopFrame\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud504\ub808\uc784\uc758 \ud31d<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nPopFrame(jvmtiEnv* env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p><code>thread<\/code> \uc2a4\ud0dd\uc758 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc744 \ud31d \ud569\ub2c8\ub2e4. \ud504\ub808\uc784\uc744 \ud31d \ud558\uba74(\uc790), \uc9c1\uc804\uc758 \ud504\ub808\uc784\uc5d0 \ub3cc\uc544\uc635\ub2c8\ub2e4. thread\uac00 \uc7ac\uac1c\ub418\uba74(\uc790), thread\uc758 \uc2e4\ud589 \uc0c1\ud0dc\ub294, \uba54\uc18c\ub4dc\uac00 \ubd88\ub824 \uac00\uae30 \uc9c1\uc804 \uc0c1\ud0dc\uc5d0 \ub9ac\uc14b \ub429\ub2c8\ub2e4. <a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758 \uc6a9\uc5b4\ub85c \uc124\uba85\ud558\uba74(\uc790), \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4. <i><\/i><\/p>\n\n<ul type=\"disc\">\n <li>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \ud30c\uae30\ub418\uc5b4 \uc774\uc804\uc758 \ud504\ub808\uc784\uc774 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \ub41c\ub2e4<\/li>\n    <li>\uc624\ud37c\ub79c\ub4dc \uc2a4\ud0dd\uc774 \ud68c\ubcf5\ud55c\ub2e4. \uc778\uc218\uc758 \uac12\uc774 \uc7ac\ucc28 \ucd94\uac00\ub418\uc5b4 \ud638\ucd9c\uc774 <code>invokestatic<\/code> \uac00 \uc544\ub2cc \uacbd\uc6b0\ub294 <code>objectref<\/code> \ub3c4 \uc7ac\ucc28 \ucd94\uac00\ub41c\ub2e4<\/li>\n  <li>Java \uac00\uc0c1 \uba38\uc2e0\uc758 PC \uac00 \ud638\ucd9c\ud574 \uba85\ub839\uc758 \uc870\uc791 \ucf54\ub4dc (opcode)\uc5d0 \ud68c\ubcf5\ud55c\ub2e4<\/li>\n<\/ul>\n\n<p>\ub2e4\ub9cc, \ud638\ucd9c\ucc98\uc758 \uba54\uc18c\ub4dc\ub85c \ubc1c\uc0dd\ud55c \uc778\uc218\uc758 \ubcc0\uacbd \ub0b4\uc6a9\uc740 \ubcf4\uad00 \uc720\uc9c0\ub429\ub2c8\ub2e4. \uc2e4\ud589\uc744 \uc18d\ud589\ud558\uba74(\uc790), \ucd5c\ucd08\uc758 \uc2e4\ud589 \uc9c0\uc2dc\uac00 \ud638\ucd9c\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>PopFrame<\/code> \uc758 \ud638\ucd9c\uacfc thread\uc758 \uc7ac\uac1c\ub3d9\uc548, \uc2a4\ud0dd \uc0c1\ud0dc\ub294 \ubbf8\uc815\ub3c4\ub9ac\uc785\ub2c8\ub2e4. \ucd5c\ucd08\uc758 \ud504\ub808\uc784\ubcf4\ub2e4 \uc804\uc5d0 \ud504\ub808\uc784\uc744 \ud31d \ud558\ub824\uba74 , \ub2e4\uc74c\uc758 3 \uac1c\uc758 \uc21c\uc11c\ub97c \ubc18\ubcf5\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li>\uc774\ubca4\ud2b8\ub97c \ud1b5\ud574\uc11c thread\ub97c \uc911\ub2e8\ud55c\ub2e4 (\uc2a4\ud15d, breakpoint \ub4f1)<\/li>\n  <li><code>PopFrame<\/code> \ub97c \ud638\ucd9c\ud55c\ub2e4<\/li>\n    <li>thread\ub97c \uc7ac\uac1c\ud55c\ub2e4<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc5d0 \uc758\ud574 \ud68d\ub4dd\ub41c \ub77d (\uc774\uac83\uc774 <code>synchronized<\/code> \uba54\uc18c\ub4dc\uc758 \uacbd\uc6b0)\uacfc \ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub0b4\uc758 <code>synchronized<\/code> \ube14\ub85d\uc5d0 \ub4e4\uc5b4\uac00\ub294 \uac83\uc5d0 \uc758\ud574 \ud68d\ub4dd\ub41c \ub77d\uc740 \ud574\uc81c\ub429\ub2c8\ub2e4. \uc8fc:\uc774\uac83\uc740, \ub124\uc774\ud2f0\ube0c \ub77d\uc774\ub098 <code>java.util.concurrent.locks<\/code> \ub77d\uc5d0\ub294 \uc801\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ucd5c\uc885\uc801\uc73c\ub85c, \ube14\ub85d\uc740 \uc2e4\ud589\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uae00\ub85c\ubc8c \uc0c1\ud0dc\uc5d0\uc758 \ubcc0\uacbd\uc5d0\ub294 \ub300\uc751\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0, \ubcc0\uacbd\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc9c0\uc815\ub41c thread\ub294 \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4. \uc774\uac83\uc740, \uadf8 thread\uac00 \ud604\uc7ac\uc758 thread\uc5ec\uc120 \uc548 \ub418\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub77c\uace0 \ubd88\ub7ec \ubc29\ud3b8\uce21\uc758 \uba54\uc18c\ub4dc\uc758 \uc5b4\ub290\ucabd\uc774\ub098, \ube44\ub124\uc774\ud2f0\ube0c\uc758 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \uba54\uc18c\ub4dc\ub85c \ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>80<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_pop_frame\"><code>can_pop_frame<\/code><\/a><\/td>\n          <td>\uc2a4\ud0dd\uc73c\ub85c\ubd80\ud130 \ud504\ub808\uc784\uc744 \ud31d \ud560 \uc218 \uc788\ub294 - <a href=\"#PopFrame\"><code>PopFrame<\/code><\/a><\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"PopFrame.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud31d \ud558\ub294 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc758 thread.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_pop_frame\"><code>can_pop_frame<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ud638\ucd9c\ucc98 \uba54\uc18c\ub4dc \ub610\ub294 \ud638\ucd9c\ud574 \uc606\uba54\uc18c\ub4dc\uac00 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc774\ub2e4. \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc744 \ud31d \ud560 \uc218 \uc5c6\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\ub294 \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc0c1\uc758 \uc2a4\ud0dd \ud504\ub808\uc784\uc758 \uc218\uac00, 2 \uac1c\ubcf4\ub2e4 \uc801\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#PopFrame.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#PopFrame.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetFrameLocation\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud504\ub808\uc784\uc758 \uc704\uce58\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetFrameLocation(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jmethodID* method_ptr,\n            jlocation* location_ptr)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ud504\ub808\uc784\uc5d0 \ub300\ud574, \ud604\uc7ac \uc2e4\ud589\uc911\uc758 \uba85\ub839\uc758 \uc704\uce58\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>19<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFrameLocation.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetFrameLocation.depth\">depth<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetFrameLocation.method_ptr\">method_ptr<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud604\uc7ac\uc758 \uc704\uce58\uc758 \uba54\uc18c\ub4dc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jmethodID<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jmethodID<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFrameLocation.location_ptr\">location_ptr<\/code><\/td>\n           <td><code><a href=\"#jlocation\">jlocation<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud604\uc7ac \uc2e4\ud589\uc911\uc758 \uba85\ub839\uc758 \uc778\ub371\uc2a4\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud504\ub808\uc784\uc774 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\ub294 <code>-1<\/code> \uc73c\ub85c \uc124\uc815\ub41c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlocation<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlocation<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameLocation.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameLocation.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameLocation.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#GetFrameLocation.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameLocation.method_ptr\"><code>method_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetFrameLocation.location_ptr\"><code>location_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"NotifyFramePop\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud504\ub808\uc784\uc758 \ud31d\uc758 \ud1b5\uc9c0<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nNotifyFramePop(jvmtiEnv* env,\n            jthread thread,\n            jint depth)<\/pre>\n<\/blockquote>\n\n<p>\uae4a\uc774 <a href=\"#NotifyFramePop.depth\"><code>depth<\/code><\/a> \uc758 \ud504\ub808\uc784\uc774 \uc2a4\ud0dd\uc73c\ub85c\ubd80\ud130 \ud31d \ub418\uc5c8\uc744 \ub54c,<a href=\"#FramePop\"><code>FramePop<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc790\uc138\ud55c \uac83\uc740,<a href=\"#FramePop\"><code>FramePop<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. \ube44\ub124\uc774\ud2f0\ube0c Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\ub9cc\uc774 \ud1b5\uc9c0\ub97c \uc218\uc2e0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc9c0\uc815\ud55c thread\ub294 \ud604\uc7ac\uc758 thread\uc778\uc9c0, thread\uac00 \uc911\ub2e8\ud588\ub294\uc9c0\uc758 \uc5b4\ub290 \ucabd\uc778\uc9c0\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>20<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_frame_pop_events\"><code>can_generate_frame_pop_events<\/code><\/a><\/td>\n          <td><a href=\"#FramePop\"><code>FramePop<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#NotifyFramePop\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"NotifyFramePop.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud504\ub808\uc784\uc758 \ud31d \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub418\ub294 \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"NotifyFramePop.depth\">depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud504\ub808\uc784\uc758 \ud31d \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub418\ub294 \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_frame_pop_events\"><code>can_generate_frame_pop_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td><code>depth<\/code> \uc758 \ud504\ub808\uc784\uc740 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\ub294 \uc911\ub2e8\ub418\uc9c0 \uc54a\uace0, \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uc5c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#NotifyFramePop.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#NotifyFramePop.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#NotifyFramePop.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#NotifyFramePop.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ForceEarlyReturn\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c<\/h2>\n\n<p>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#ForceEarlyReturnObject\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uac1d\uccb4\ud615<\/a><\/li>\n    <li><a href=\"#ForceEarlyReturnInt\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc815\uc218\ud615<\/a><\/li>\n   <li><a href=\"#ForceEarlyReturnLong\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc7a5 \uc815\uc218\ud615<\/a><\/li>\n   <li><a href=\"#ForceEarlyReturnFloat\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n  <li><a href=\"#ForceEarlyReturnDouble\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n    <li><a href=\"#ForceEarlyReturnVoid\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - void \ud615<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uc5d0\uc774\uc804\ud2b8\ub294, \uc2e4\ud589\uc911\uc758 \uc784\uc758\uc758 \ud3ec\uc778\ud2b8\uc5d0\uc11c\uc758 \ubcf5\uadc0\ub97c \uba54\uc18c\ub4dc\uc5d0 \uac15\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc870\uae30 \ubcf5\uadc0\ud558\ub294 \uba54\uc18c\ub4dc\ub97c \u300c\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\u300d\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4. <i><\/i>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/Overview.doc.html#17257\">\u300cFrames\u300d<\/a>\uc139\uc158\uc5d0 \uc815\uc758\ub418\uace0 \uc788\ub294 \ub300\ub85c, \ud568\uc218\uc758 \ud638\ucd9c\uc2dc\uc5d0, \uc9c0\uc815\ub41c thread\uc758 \ud604\uc7ac\uc758 \uba54\uc18c\ub4dc\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc9c0\uc815\ub41c thread\ub294, \uc911\ub2e8\ub418\uace0 \uc788\ub294\uc9c0, \ud604\uc7ac\uc758 thread\uac00 \uc544\ub2c8\uba74 \uc548\ub429\ub2c8\ub2e4. \uba54\uc18c\ub4dc\uc758 \ubcf5\uadc0\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc774 \uc774 thread\uc0c1\uc5d0\uc11c \uc7ac\uac1c\ub418\uc5c8\uc744 \ub54c\uc5d0 \ud589\ud574\uc9d1\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud568\uc218\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ud638\ucd9c\ud558\uace0 \ub098\uc11c thread\uc758 \uc2e4\ud589\uc774 \uc7ac\uac1c\ub420 \ub54c\uae4c\uc9c0 \uc758 \uc2a4\ud0dd \uc0c1\ud0dc\ub294 \ubbf8\uc815\ub3c4\ub9ac\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc5d0\uc11c\ub294, \ub354 \uc774\uc0c1\uc758 \uba85\ub839\uc740 \uc2e4\ud589\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud2b9\ud788, \ucd5c\uc885\uc801\uc73c\ub85c \ube14\ub85d\uc740 \uc2e4\ud589\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc8fc:\uc774\uac83\uc5d0 \uc758\ud574, \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\ub0b4\uc5d0\uc11c \ubb34\uacb0\uc131\uc774 \uc5c6\ub294 \uc0c1\ud0dc\uac00 \ubc1c\uc0dd\ud558\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc5d0 \uc758\ud574 \ud68d\ub4dd\ub41c \ub77d (\uc774\uac83\uc774 <code>synchronized<\/code> \uba54\uc18c\ub4dc\uc758 \uacbd\uc6b0)\uacfc \ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub0b4\uc758 <code>synchronized<\/code> \ube14\ub85d\uc5d0 \ub4e4\uc5b4\uac00\ub294 \uac83\uc5d0 \uc758\ud574 \ud68d\ub4dd\ub41c \ub77d\uc740 \ud574\uc81c\ub429\ub2c8\ub2e4. \uc8fc:\uc774\uac83\uc740, \ub124\uc774\ud2f0\ube0c \ub77d\uc774\ub098 <code>java.util.concurrent.locks<\/code> \ub77d\uc5d0\ub294 \uc801\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc77c\ubc18\uc801\uc73c\ub85c \ubcf5\uadc0\uc758 \uacbd\uc6b0\uc640 \uac19\uac8c,<a href=\"#MethodExit\"><code>MethodExit<\/code><\/a> \ub4f1\uc758 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\ub294, \ube44\ub124\uc774\ud2f0\ube0c\uc758 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \uba54\uc18c\ub4dc\ub85c \ud569\ub2c8\ub2e4. \uc2a4\ud0dd\uc0c1\uc5d0 \ud504\ub808\uc784\uc774 1 \uac1c\ub9cc \uc788\ub294 \uc0c1\ud0dc\ub85c thread\uc5d0\uc758 \uac15\uc81c \ubcf5\uadc0\ub97c \ud589\ud588\uc744 \uacbd\uc6b0, thread\uac00 \uc7ac\uac1c\uc2dc\uc5d0 \uc885\ub8cc\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"ForceEarlyReturnObject\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uac1d\uccb4\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceEarlyReturnObject(jvmtiEnv* env,\n            jthread thread,\n            jobject value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>Object<\/code> \ub610\ub294 <code>Object<\/code> \uc758 \uc11c\ube0c \ud074\ub798\uc2a4\uc778 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ubcf5\uadc0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>81<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a><\/td>\n            <td><a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnObject.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \uc870\uae30 \ubcf5\uadc0\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnObject.value\">value<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud53c\ud638\ubc29\ud3b8 \ud504\ub808\uc784\uc758 \ubc18\ud658\uac12. \uac1d\uccb4 \ub610\ub294 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130\uc758 \uc870\uae30 \ubcf5\uadc0\uac00 \uc2dc\ub3c4\ub418\uc5c8\ub2e4. \ub610\ub294, \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc758 \uacb0\uacfc\uc758 \ud615\ud0dc\uac00,<code>Object<\/code> \uc5d0\uc11c\ub3c4,<code>Object<\/code> \uc758 \uc11c\ube0c \ud074\ub798\uc2a4\ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c<a href=\"#ForceEarlyReturnObject.value\"><code>\uac12<\/code><\/a> \uacfc \ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc758 \uacb0\uacfc\uc758 \ud615\ud0dc\uc5d0 \ud638\ud658\uc131\uc774 \uc5c6\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\uac00 \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ub354 \uc774\uc0c1\uc758 \ud504\ub808\uc784\uc774 \uc5c6\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnObject.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnObject.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnObject.value\"><code>value<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ForceEarlyReturnInt\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc815\uc218\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceEarlyReturnInt(jvmtiEnv* env,\n            jthread thread,\n            jint value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>int<\/code>,<code>short<\/code>,<code>char<\/code>,<code>byte<\/code>,<code>boolean<\/code> \uc758 \uc5b8\uc820\uac00\uc778 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ubcf5\uadc0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>82<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a><\/td>\n            <td><a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnInt.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \uc870\uae30 \ubcf5\uadc0\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnInt.value\">value<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud53c\ud638\ubc29\ud3b8 \ud504\ub808\uc784\uc758 \ubc18\ud658\uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130\uc758 \uc870\uae30 \ubcf5\uadc0\uac00 \uc2dc\ub3c4\ub418\uc5c8\ub2e4. \ub610\ub294, \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc758 \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>int<\/code>,<code>short<\/code>,<code>char<\/code>,<code>byte<\/code>,<code>boolean<\/code> \uc758 \uba38\uc9c0\uc54a\uc544\ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\uac00 \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ud504\ub808\uc784\uc774 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnInt.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnInt.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ForceEarlyReturnLong\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc7a5 \uc815\uc218\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceEarlyReturnLong(jvmtiEnv* env,\n            jthread thread,\n            jlong value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>long<\/code> \uc778 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ubcf5\uadc0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>83<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a><\/td>\n            <td><a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnLong.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \uc870\uae30 \ubcf5\uadc0\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnLong.value\">value<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ud53c\ud638\ubc29\ud3b8 \ud504\ub808\uc784\uc758 \ubc18\ud658\uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130\uc758 \uc870\uae30 \ubcf5\uadc0\uac00 \uc2dc\ub3c4\ub418\uc5c8\ub2e4. \ub610\ub294, \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc758 \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>long<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\uac00 \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ud504\ub808\uc784\uc774 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnLong.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnLong.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ForceEarlyReturnFloat\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceEarlyReturnFloat(jvmtiEnv* env,\n            jthread thread,\n            jfloat value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>float<\/code> \uc778 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ubcf5\uadc0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>84<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a><\/td>\n            <td><a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnFloat.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \uc870\uae30 \ubcf5\uadc0\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnFloat.value\">value<\/code><\/td>\n            <td><code><a href=\"#jfloat\">jfloat<\/a> <\/code><\/td>\n         <td>\ud53c\ud638\ubc29\ud3b8 \ud504\ub808\uc784\uc758 \ubc18\ud658\uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130\uc758 \uc870\uae30 \ubcf5\uadc0\uac00 \uc2dc\ub3c4\ub418\uc5c8\ub2e4. \ub610\ub294, \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc758 \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>float<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\uac00 \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ud504\ub808\uc784\uc774 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnFloat.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnFloat.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ForceEarlyReturnDouble\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceEarlyReturnDouble(jvmtiEnv* env,\n            jthread thread,\n            jdouble value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>double<\/code> \uc778 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ubcf5\uadc0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>85<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a><\/td>\n            <td><a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnDouble.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \uc870\uae30 \ubcf5\uadc0\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnDouble.value\">value<\/code><\/td>\n           <td><code><a href=\"#jdouble\">jdouble<\/a> <\/code><\/td>\n           <td>\ud53c\ud638\ubc29\ud3b8 \ud504\ub808\uc784\uc758 \ubc18\ud658\uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130\uc758 \uc870\uae30 \ubcf5\uadc0\uac00 \uc2dc\ub3c4\ub418\uc5c8\ub2e4. \ub610\ub294, \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uc758 \uacb0\uacfc\uc758 \ud615\ud0dc\uac00 <code>double<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\uac00 \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ud504\ub808\uc784\uc774 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnDouble.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnDouble.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ForceEarlyReturnVoid\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - void \ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceEarlyReturnVoid(jvmtiEnv* env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uacb0\uacfc\uc758 \ud615\ud0dc\ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ubcf5\uadc0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uac00 <code>void<\/code> \uc640 \uc120\uc5b8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>86<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a><\/td>\n            <td><a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ForceEarlyReturnVoid.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud604\uc7ac\uc758 \ud504\ub808\uc784\uc774 \uc870\uae30 \ubcf5\uadc0\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_force_early_return\"><code>can_force_early_return<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \ub300\uc751\ud558\ub294 \ud504\ub808\uc784\uc73c\ub85c\ubd80\ud130\uc758 \uc870\uae30 \ubcf5\uadc0\uac00 \uc2dc\ub3c4\ub418\uc5c8\ub2e4. \ub610\ub294, \uad6c\ud604\uc774 \uc774 \ud504\ub808\uc784\uc0c1\uc5d0\uc11c \uc774 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ud53c\ud638\ubc29\ud3b8 \uba54\uc18c\ub4dc\uac00 \uacb0\uacfc\uc758 \ud615\ud0dc\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_SUSPENDED\"><code>JVMTI_ERROR_THREAD_NOT_SUSPENDED<\/code><\/a><\/td>\n          <td>thread\uac00 \ud604\uc7ac\uc758 thread\ub294 \uc544\ub2c8\uace0, \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ud504\ub808\uc784\uc774 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnVoid.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#ForceEarlyReturnVoid.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"Heap\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">heap<\/h2>\n\n<p>heap \ud568\uc218:<\/p>\n\n<ul>\n <li><a href=\"#FollowReferences\">\ucc38\uc870\uc758 \ucd94\uc801<\/a><\/li>\n    <li><a href=\"#IterateThroughHeap\">heap\ub0b4\uc5d0\uc11c\uc758 \ubc18\ubcf5\ud574<\/a><\/li>\n  <li><a href=\"#GetTag\">\ud0dc\uadf8\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#SetTag\">\ud0dc\uadf8\uc758 \uc124\uc815<\/a><\/li>\n  <li><a href=\"#GetObjectsWithTags\">\ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud55c \uac1d\uccb4\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#ForceGarbageCollection\">\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac15\uc81c<\/a><\/li>\n<\/ul>\n\n<p>heap\uc758 \ud568\uc218\ud615:<\/p>\n\n<ul>\n <li><a href=\"#jvmtiHeapIterationCallback\">heap \ubc18\ubcf5 \ucf5c\ubc31<\/a><\/li>\n   <li><a href=\"#jvmtiHeapReferenceCallback\">heap \ucc38\uc870 \ucf5c\ubc31<\/a><\/li>\n   <li><a href=\"#jvmtiPrimitiveFieldCallback\">\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc \ucf5c\ubc31<\/a><\/li>\n <li><a href=\"#jvmtiArrayPrimitiveValueCallback\">\ubc30\uc5f4 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/a><\/li>\n  <li><a href=\"#jvmtiStringPrimitiveValueCallback\">\uce90\ub9ad\ud130 \ub77c\uc778 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/a><\/li>\n  <li><a href=\"#jvmtiReservedCallback\">\uc7a5\ub798 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \uc608\uc57d\ub41c \ucf5c\ubc31<\/a><\/li>\n<\/ul>\n\n<p>heap\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n    <li><a href=\"#jvmtiHeapReferenceKind\"><code>jvmtiHeapReferenceKind<\/code><\/a> - heap \ucc38\uc870\uc758 \uc5f4\uac70<\/li>\n   <li><a href=\"#jvmtiPrimitiveType\"><code>jvmtiPrimitiveType<\/code><\/a> - \uc6d0\uc2dc\ud615\uc758 \uc5f4\uac70<\/li>\n  <li><a href=\"#jvmtiHeapReferenceInfoField\"><code>jvmtiHeapReferenceInfoField<\/code><\/a> - \ud544\ub4dc \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n   <li><a href=\"#jvmtiHeapReferenceInfoArray\"><code>jvmtiHeapReferenceInfoArray<\/code><\/a> - \ubc30\uc5f4 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n   <li><a href=\"#jvmtiHeapReferenceInfoConstantPool\"><code>jvmtiHeapReferenceInfoConstantPool<\/code><\/a> - \uc815\uc218 \ud480 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n  <li><a href=\"#jvmtiHeapReferenceInfoStackLocal\"><code>jvmtiHeapReferenceInfoStackLocal<\/code><\/a> - \uad6d\uc18c \ubcc0\uc218 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n    <li><a href=\"#jvmtiHeapReferenceInfoJniLocal\"><code>jvmtiHeapReferenceInfoJniLocal<\/code><\/a> - JNI \ub85c\uceec \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n <li><a href=\"#jvmtiHeapReferenceInfoReserved\"><code>jvmtiHeapReferenceInfoReserved<\/code><\/a> - \uadf8 \uc678\uc758 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n  <li><a href=\"#jvmtiHeapReferenceInfo\"><code>jvmtiHeapReferenceInfo<\/code><\/a> - \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/li>\n   <li><a href=\"#jvmtiHeapCallbacks\"><code>jvmtiHeapCallbacks<\/code><\/a> - heap \ucf5c\ubc31 \ud568\uc218 \uad6c\uc870\uccb4<\/li>\n<\/ul>\n\n<p>heap\uc758 \ud50c\ub798\uadf8 \ubc0f \uc815\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#jvmtiHeapFilter\">heap \ud544\ud130 \ud50c\ub798\uadf8<\/a><\/li>\n    <li><a href=\"#jvmtiHeapVisitControl\">\ud788\ud504\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, heap\uc758 \ubd84\uc11d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. heap\ub0b4\uc758 \uac1d\uccb4\uc758 \ud45c\uc2dc, \uc774\ub7ec\ud55c \uac1d\uccb4\uc5d0\uc758 \ud0dc\uadf8\ubd80\ub4f1\uc758 \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"objectTags\">\uac1d\uccb4\uc758 \ud0dc\uadf8<\/h4>\n\n<p>\u300c\ud0dc\uadf8\u300d\ub294, \uac1d\uccb4\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\ub294 \uac12\uc785\ub2c8\ub2e4. \ud0dc\uadf8\ub294, \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574,<a href=\"#SetTag\"><code>\ud0dc\uadf8\uc758 \uc124\uc815<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud574 \uba85\uc2dc\uc801\uc73c\ub85c \uc124\uc815\ub429\ub2c8\ub2e4. \ub610\ub294,<a href=\"#jvmtiHeapIterationCallback\"><code>jvmtiHeapIterationCallback<\/code><\/a> \ub4f1\uc758 \ucf5c\ubc31 \ud568\uc218\uc5d0 \uc758\ud574 \uc124\uc815\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud0dc\uadf8\ub294 \ud658\uacbd\uc5d0 \ub300\ud574\uc11c \ub85c\uceec\uc785\ub2c8\ub2e4. \uc989, \uc5b4\ub290 \ud658\uacbd\uc758 \ud0dc\uadf8\ub97c \ub2e4\ub978 \ud658\uacbd\uc5d0\uc11c \ud45c\uc2dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud0dc\uadf8\ub294 <code>jlong<\/code> \uce58\uc785\ub2c8\ub2e4. \uc774 \uac12\uc744 \uc0ac\uc6a9\ud574, \uac1d\uccb4\uc5d0 \ub9c8\ud06c\ub97c \ubd99\uc774\uac70\ub098 \uc0c1\uc138 \uc815\ubcf4\uc758 \ud3ec\uc778\ud130\ub97c \ud3ec\ud568\ud558\uac70\ub098 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc5d0\ub294, \uc81c\ub85c\uc758 \ud0dc\uadf8\uac00 \ubd99\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ud0dc\uadf8\ub97c \uc81c\ub85c\ub85c \uc124\uc815\ud558\ub294 \uac83\uc73c\ub85c\uc368, \uac1d\uccb4\uc758 \ud0dc\uadf8\ubd80\ub97c \ud574\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218<\/h4>\n\n<p>heap \ud568\uc218\ub294, heap\ub0b4\uc5d0\uc11c\uc758 \ubc18\ubcf5 \ucc98\ub9ac\uc640 \uac1d\uccb4 \ucc38\uc870\uc758 \uc7ac\uadc0\uc801\uc778 \ucd94\uc801\uc744 \uc2e4\uc2dc\ud574, \uc5d0\uc774\uc804\ud2b8\uac00 \uc9c0\uc815\ud55c \ucf5c\ubc31 \ud568\uc218\ub97c \uc0ac\uc6a9\ud574 \uc815\ubcf4 \uc81c\uacf5\uc744 \uc2e4\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ub7ec\ud55c heap \ucf5c\ubc31 \ud568\uc218\ub294, \ub2e4\uc74c\uc758 \uc81c\ud55c\uc5d0 \ub530\ub985\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ucf5c\ubc31\uc73c\ub85c JNI \ud568\uc218\ub294 \uc0ac\uc6a9\ud558\uc9c0 \ub9d0\uc544 \uc8fc\uc138\uc694. \uc774\ub7ec\ud55c \ucf5c\ubc31\uc5d0\uc11c\ub294, \ud2b9\ubcc4\ud788 \uc0ac\uc6a9\uc774 \ud5c8\uac00\ub418\uace0 \uc788\ub294 \u300c\ucf5c\ubc31 \uc548\uc804\u300d\uc778 \ud568\uc218 \uc774\uc678\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 (raw \ubaa8\ub2c8\ud130 \ud568\uc218, \uba54\ubaa8\ub9ac \uad00\ub9ac \ud568\uc218, \ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed \ud568\uc218\ub97c \ucc38\uc870). <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uad6c\ud604\uc740, \ub0b4\ubd80 thread\uc0c1 \ub610\ub294 \ubc18\ubcf5\ud574 \ud568\uc218\ub97c \ud638\ucd9c\ud55c thread\uc0c1\uc5d0\uc11c, \ucf5c\ubc31\uc744 \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. heap \ucf5c\ubc31\uc740 \uc2f1\uae00\uc2a4 \ub808\ub4dc\uc785\ub2c8\ub2e4. \ubcf5\uc218\uc758 \ucf5c\ubc31\uc774 \ub3d9\uc2dc\uc5d0 \ubd88\ub824 \uac08 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>heap \ud544\ud130 \ud50c\ub798\uadf8\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uac1d\uccb4 \ub610\ub294 \uadf8 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 \uc0c1\ud0dc\uc5d0 \uadfc\uac70\ud574 \ubcf4\uace0\ub97c \uc2e4\uc2dc\ud558\uc9c0 \uc54a\uac8c \ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud50c\ub798\uadf8\uac00 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0 (<code>jint<\/code> \uac00 \uc81c\ub85c\uc758 \uacbd\uc6b0), \uac1d\uccb4\uc758 \ud544\ud130\ub9c1\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiHeapFilter\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">heap \ud544\ud130 \ud50c\ub798\uadf8<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_FILTER_TAGGED\">JVMTI_HEAP_FILTER_TAGGED<\/code><\/td>\n            <td align=\"right\">0x4<\/td>\n          <td>\ud0dc\uadf8 \ucca8\ubd80\uc758 \uac1d\uccb4\ub97c \ud544\ud130\ub9c1 \ud55c\ub2e4. \ud0dc\uadf8\uac00 \ubd99\uc740 \uac1d\uccb4\uac00 \uc81c\uc678\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_FILTER_UNTAGGED\">JVMTI_HEAP_FILTER_UNTAGGED<\/code><\/td>\n            <td align=\"right\">0x8<\/td>\n          <td>\ud0dc\uadf8 \uc5c6\uc74c\uc758 \uac1d\uccb4\ub97c \ud544\ud130\ub9c1 \ud55c\ub2e4. \ud0dc\uadf8\uac00 \ubd99\uc9c0 \uc54a\uc740 \uac1d\uccb4\uac00 \uc81c\uc678\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_FILTER_CLASS_TAGGED\">JVMTI_HEAP_FILTER_CLASS_TAGGED<\/code><\/td>\n            <td align=\"right\">0x10<\/td>\n         <td>\ud0dc\uadf8 \ucca8\ubd80\uc758 \ud074\ub798\uc2a4\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4\ub97c \ud544\ud130\ub9c1 \ud55c\ub2e4. \ud0dc\uadf8\uac00 \ubd99\uc740 \ud074\ub798\uc2a4\uc758 \uac1d\uccb4\uac00 \uc81c\uc678\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_FILTER_CLASS_UNTAGGED\">JVMTI_HEAP_FILTER_CLASS_UNTAGGED<\/code><\/td>\n            <td align=\"right\">0x2;<\/td>\n         <td>\ud0dc\uadf8 \uc5c6\uc74c\uc758 \ud074\ub798\uc2a4\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4\ub97c \ud544\ud130\ub9c1 \ud55c\ub2e4. \ud0dc\uadf8\uac00 \ubd99\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uac1d\uccb4\uac00 \uc81c\uc678\ub41c\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>heap \ucf5c\ubc31\uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \ud788\ud504\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc911\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610,<a href=\"#jvmtiHeapReferenceCallback\">heap \ucc38\uc870 \ucf5c\ubc31<\/a>\uc740, \ud6a1\ub2e8(traverse) \ub300\uc0c1\uc774 \ub418\ub294 \ucc38\uc870\uc758 \uadf8\ub798\ud504\ub97c \uc5c6\uc560\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4 (<code>JVMTI_VISIT_OBJECTS<\/code> \ub97c \uc124\uc815\ud558\uc9c0 \uc54a\ub294\ub2e4).<\/p>\n\n<blockquote><a name=\"jvmtiHeapVisitControl\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud788\ud504\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VISIT_OBJECTS\">JVMTI_VISIT_OBJECTS<\/code><\/td>\n          <td align=\"right\">0x100<\/td>\n            <td>\uc5b4\ub290 \uac1d\uccb4\ub97c \ube44\uc9d3\ud2b8 \ud560 \ub54c\uc5d0 \uc774 \ucf5c\ubc31\uc774 <a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \uc5d0 \uc758\ud574 \uae30\ub3d9\ub41c \uac83\uc774\uc5c8\uc744 \uacbd\uc6b0, \uadf8 \uac1d\uccb4\uc758 \ucc38\uc870\ub97c \ud6a1\ub2e8(traverse) \ud55c\ub2e4. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 \ubb34\uc2dc\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VISIT_ABORT\">JVMTI_VISIT_ABORT<\/code><\/td>\n          <td align=\"right\">0x8000<\/td>\n           <td>\ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc911\uc9c0. \ub2e4\ub978 \ubaa8\ub4e0 \ube44\ud2b8\ub97c \ubb34\uc2dc\ud55c\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>heap \ucc38\uc870\uc758 \uc5f4\uac70\ub294, \ubcf4\uace0 \ub300\uc0c1\uc758 \ucc38\uc870\uc758 \uc885\ub958\ub97c \uae30\uc220\ud558\ub294 \ubaa9\uc801\uc73c\ub85c,<a href=\"#jvmtiHeapReferenceCallback\">heap \ucc38\uc870 \ucf5c\ubc31<\/a>\uacfc<a href=\"#jvmtiPrimitiveFieldCallback\">\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc \ucf5c\ubc31<\/a>\uc5d0 \uc758\ud574 \uc81c\uacf5\ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiHeapReferenceKind\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">heap \ucc38\uc870\uc758 \uc5f4\uac70 (<code>jvmtiHeapReferenceKind<\/code>)<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_CLASS\">JVMTI_HEAP_REFERENCE_CLASS<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td>\uac1d\uccb4\ub85c\ubd80\ud130 \uadf8 \ud074\ub798\uc2a4\uc5d0\uc758 \ucc38\uc870.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_FIELD\">JVMTI_HEAP_REFERENCE_FIELD<\/code><\/td>\n            <td align=\"right\">2<\/td>\n            <td>\uac1d\uccb4\ub85c\ubd80\ud130, \uadf8 \uac1d\uccb4\uc758 \uba87\uac1c\uc758 \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uce58\uc5d0\uc758 \ucc38\uc870.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT\">JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT<\/code><\/td>\n            <td align=\"right\">3<\/td>\n            <td>\ubc30\uc5f4\ub85c\ubd80\ud130, \uadf8 \ubc30\uc5f4\uc758 \uba87\uac1c\uc758 \uc694\uc18c\uc5d0\uc758 \ucc38\uc870.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_CLASS_LOADER\">JVMTI_HEAP_REFERENCE_CLASS_LOADER<\/code><\/td>\n          <td align=\"right\">4<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \ud074\ub798\uc2a4 \ub85c\ub354\uc5d0\uc758 \ucc38\uc870.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_SIGNERS\">JVMTI_HEAP_REFERENCE_SIGNERS<\/code><\/td>\n            <td align=\"right\">5<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \uc11c\uba85\uc790\uc758 \ubc30\uc5f4\uc5d0\uc758 \ucc38\uc870.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN\">JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN<\/code><\/td>\n            <td align=\"right\">6<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \ubcf4\ud638 \ub3c4\uba54\uc778\uc5d0\uc758 \ucc38\uc870.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_INTERFACE\">JVMTI_HEAP_REFERENCE_INTERFACE<\/code><\/td>\n            <td align=\"right\">7<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130, \uadf8 \ud074\ub798\uc2a4\uc758 \uba87\uac1c\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc758 \ucc38\uc870. \uc8fc:\uc778\ud130\ud398\uc774\uc2a4\ub294 \uc815\uc218 \ud480 \ucc38\uc870 \uacbd\uc720\ub85c \uc815\uc758\ub418\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \ucc38\uc870\ub41c \uc778\ud130\ud398\uc774\uc2a4\ub294 \ucc38\uc870\uc758 \uc885\ub958\uac00 <code>JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code> \ub85c \ubcf4\uace0\ub420 \uac00\ub2a5\uc131\ub3c4 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_STATIC_FIELD\">JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/td>\n          <td align=\"right\">8<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \uba87\uac1c\uc758 static \ud544\ub4dc\uce58\uc5d0\uc758 \ucc38\uc870.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_CONSTANT_POOL\">JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code><\/td>\n            <td align=\"right\">9<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uc815\uc218 \ud480\ub0b4\uc758 \ud574\uacb0 \uc9c0\uc74c \uc5d4\ud2b8\ub9ac\uc5d0\uc758 \ucc38\uc870.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_SUPERCLASS\">JVMTI_HEAP_REFERENCE_SUPERCLASS<\/code><\/td>\n          <td align=\"right\">10<\/td>\n           <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \uc288\ud37c \ud074\ub798\uc2a4\uc5d0\uc758 \ucc38\uc870. \uc288\ud37c \ud074\ub798\uc2a4\uac00 <code>java.lang.Object<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4. \uc8fc:\ub85c\ub4dc \ub41c \ud074\ub798\uc2a4\ub294 \uc815\uc218 \ud480 \ucc38\uc870 \uacbd\uc720\ub85c \uc288\ud37c \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \ucc38\uc870\ub41c \uc288\ud37c \ud074\ub798\uc2a4\ub294 \ucc38\uc870\uc758 \uc885\ub958\uac00 <code>JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code> \ub85c \ubcf4\uace0\ub420 \uac00\ub2a5\uc131\ub3c4 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_JNI_GLOBAL\">JVMTI_HEAP_REFERENCE_JNI_GLOBAL<\/code><\/td>\n          <td align=\"right\">21<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870 :JNI \uae00\ub85c\ubc8c \ucc38\uc870.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_SYSTEM_CLASS\">JVMTI_HEAP_REFERENCE_SYSTEM_CLASS<\/code><\/td>\n          <td align=\"right\">22<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870:\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_MONITOR\">JVMTI_HEAP_REFERENCE_MONITOR<\/code><\/td>\n            <td align=\"right\">23<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870:\ubaa8\ub2c8\ud130.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_STACK_LOCAL\">JVMTI_HEAP_REFERENCE_STACK_LOCAL<\/code><\/td>\n            <td align=\"right\">24<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870:\uc2a4\ud0dd\uc0c1\uc758 \uad6d\uc18c \ubcc0\uc218.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_JNI_LOCAL\">JVMTI_HEAP_REFERENCE_JNI_LOCAL<\/code><\/td>\n            <td align=\"right\">25<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870 :JNI \ub85c\uceec \ucc38\uc870.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_THREAD\">JVMTI_HEAP_REFERENCE_THREAD<\/code><\/td>\n          <td align=\"right\">26<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870:thread.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_REFERENCE_OTHER\">JVMTI_HEAP_REFERENCE_OTHER<\/code><\/td>\n            <td align=\"right\">27<\/td>\n           <td>heap \ub8e8\ud2b8 \ucc38\uc870:\ub2e4\ub978 heap \ub8e8\ud2b8 \ucc38\uc870.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc6d0\uc2dc\ud615\uc758 \ub2e8\uc77c \ubb38\uc790\ud615 \uae30\uc220\uc790\uc758 \uc815\uc758.<\/p>\n\n<blockquote><a name=\"jvmtiPrimitiveType\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\uc6d0\uc2dc\ud615\uc758 \uc5f4\uac70 (<code>jvmtiPrimitiveType<\/code>)<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_BOOLEAN\">JVMTI_PRIMITIVE_TYPE_BOOLEAN<\/code><\/td>\n            <td align=\"right\">90<\/td>\n           <td>\u300cZ\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>boolean<\/code> - JNI \uc758 <code>jboolean<\/code><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_BYTE\">JVMTI_PRIMITIVE_TYPE_BYTE<\/code><\/td>\n          <td align=\"right\">66<\/td>\n           <td>\u300cB\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>byte<\/code> - JNI \uc758 <code>jbyte<\/code><\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_CHAR\">JVMTI_PRIMITIVE_TYPE_CHAR<\/code><\/td>\n          <td align=\"right\">67<\/td>\n           <td>\u300cC\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>char<\/code> - JNI \uc758 <code>jchar<\/code><\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_SHORT\">JVMTI_PRIMITIVE_TYPE_SHORT<\/code><\/td>\n            <td align=\"right\">83<\/td>\n           <td>\u300cS\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>short<\/code> - JNI \uc758 <code>jshort<\/code><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_INT\">JVMTI_PRIMITIVE_TYPE_INT<\/code><\/td>\n            <td align=\"right\">73<\/td>\n           <td>\u300cI\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>int<\/code> - JNI \uc758 <code>jint<\/code><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_LONG\">JVMTI_PRIMITIVE_TYPE_LONG<\/code><\/td>\n          <td align=\"right\">74<\/td>\n           <td>\u300cJ\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>long<\/code> - JNI \uc758 <code>jlong<\/code><\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_FLOAT\">JVMTI_PRIMITIVE_TYPE_FLOAT<\/code><\/td>\n            <td align=\"right\">70<\/td>\n           <td>\u300cF\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>float<\/code> - JNI \uc758 <code>jfloat<\/code><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PRIMITIVE_TYPE_DOUBLE\">JVMTI_PRIMITIVE_TYPE_DOUBLE<\/code><\/td>\n          <td align=\"right\">68<\/td>\n           <td>\u300cD\u300d - Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 <code>double<\/code> - JNI \uc758 <code>jdouble<\/code><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfoField\">\ud544\ub4dc \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p><a href=\"#JVMTI_HEAP_REFERENCE_FIELD\"><code>JVMTI_HEAP_REFERENCE_FIELD<\/code><\/a> \ubc0f <a href=\"#JVMTI_HEAP_REFERENCE_STATIC_FIELD\"><code>JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/a> \ucc38\uc870\uc5d0 \ub300\ud574\uc11c \ubc18\ud658\ub418\ub294 \ucc38\uc870 \uc815\ubcf4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jint index;\n} jvmtiHeapReferenceInfoField;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfoField<\/code> - \ud544\ub4dc \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoField.index\">index<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td><a href=\"#JVMTI_HEAP_REFERENCE_FIELD\"><code>JVMTI_HEAP_REFERENCE_FIELD<\/code><\/a> \uc758 \uacbd\uc6b0, \ucc38\uc870\uce21 \uac1d\uccb4\ub294 \ud074\ub798\uc2a4\uc5d0\uc11c\ub3c4 \uc778\ud130\ud398\uc774\uc2a4\uc774\uae30\ub3c4 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0,<code>index<\/code> \ub294, \ucc38\uc870\uce21 \uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \ud544\ub4dc\uc758 \uc778\ub371\uc2a4\uc785\ub2c8\ub2e4. \uc774\ud6c4, \uc774 \ud074\ub798\uc2a4\ub97c <i>C<\/i> \ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4.\n         <p>&nbsp;<\/p>\n         <a href=\"#JVMTI_HEAP_REFERENCE_STATIC_FIELD\"><code>JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/a> \uc758 \uacbd\uc6b0, \ucc38\uc870\uce21 \uac1d\uccb4\ub294, \ud074\ub798\uc2a4 (\uc774\ud6c4 <i>C<\/i> \ub77c\uace0 \ubd80\ub978\ub2e4)\uc640 \uc778\ud130\ud398\uc774\uc2a4 (\uc774\ud6c4 <i>I<\/i> \ub77c\uace0 \ubd80\ub978\ub2e4)\uc758 \uc5b4\ub290 \ucabd\uc778\uac00\uc5d0 \ub429\ub2c8\ub2e4. \uc774 \uacbd\uc6b0,<code>index<\/code> \ub294, \uadf8 \ud074\ub798\uc2a4 \ub610\ub294 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \ud544\ub4dc\uc758 \uc778\ub371\uc2a4\uc785\ub2c8\ub2e4.\n\n          <p>&nbsp;<\/p>\n         \ucc38\uc870\uce21 \uac1d\uccb4\uac00 \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc544\ub2cc \uacbd\uc6b0, \ud544\ub4dc\uc758 \uc778\ub371\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud574 \uacb0\uc815\ub429\ub2c8\ub2e4.\n\n            <ul type=\"disc\">\n                <li><i>C<\/i> \uc640 \uadf8 \uc288\ud37c \ud074\ub798\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \ubaa8\ub4e0 \ud544\ub4dc\uc758 \ub9ac\uc2a4\ud2b8\uac00 \uc791\uc131\ub429\ub2c8\ub2e4. \uc774 \ub9ac\uc2a4\ud2b8\ub294,<code>java.lang.Object<\/code> \ub0b4\uc758 \ubaa8\ub4e0 \ud544\ub4dc\uc5d0\uc11c \uc2dc\uc791\ub418\uc5b4,<i>C<\/i> \ub0b4\uc758 \ubaa8\ub4e0 \ud544\ub4dc\uc5d0\uc11c \ub05d\ub0a9\ub2c8\ub2e4.<\/li>\n               <li>\uc774 \ub9ac\uc2a4\ud2b8\ub0b4\uc5d0\uc11c, \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \ud544\ub4dc\uac00 <a href=\"#GetClassFields\"><code>GetClassFields<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c \ucc28\ub840\ub85c \ub298\uc5b4\ub193\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n               <li>\uc774 \ub9ac\uc2a4\ud2b8\ub0b4\uc758 \ud544\ub4dc\uc5d0, \uc778\ub371\uc2a4 <i>n<\/i>,<i>n<\/i>+1,... \ud558\uc9c0\ub9cc \uc21c\uc11c\uc5d0 \ud560\ub2f9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <i>n<\/i> \ub294,<i>C<\/i> \uac00 \uad6c\ud604\ud558\ub294 \ubaa8\ub4e0 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \ud544\ub4dc\uc758 \uce74\uc6b4\ud2b8\uc218\uc785\ub2c8\ub2e4. <i>C<\/i> \ub294, \uadf8 \uc288\ud37c \ud074\ub798\uc2a4\uac00 \uc9c1\uc811 \uad6c\ud604\ud558\ub294 \ubaa8\ub4e0 \uc778\ud130\ud398\uc774\uc2a4\uc640 \uadf8\uac83\ub4e4 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ubaa8\ub4e0 \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n            <\/ul>\n         \ucc38\uc870\uce21 \uac1d\uccb4\uac00 \uc778\ud130\ud398\uc774\uc2a4\uc778 \uacbd\uc6b0, \ud544\ub4dc\uc758 \uc778\ub371\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud574 \uacb0\uc815\ub429\ub2c8\ub2e4.\n\n         <ul type=\"disc\">\n                <li><i>I<\/i> \ub0b4\uc5d0\uc11c \uc9c1\uc811 \uc120\uc5b8\ub418\uace0 \uc788\ub294 \ud544\ub4dc\uc758 \ub9ac\uc2a4\ud2b8\uac00 \uc791\uc131\ub429\ub2c8\ub2e4.<\/li>\n               <li>\uc774 \ub9ac\uc2a4\ud2b8\ub0b4\uc758 \ud544\ub4dc\uac00 <a href=\"#GetClassFields\"><code>GetClassFields<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c \ucc28\ub840\ub85c \ub298\uc5b4\ub193\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n              <li>\uc774 \ub9ac\uc2a4\ud2b8\ub0b4\uc758 \ud544\ub4dc\uc5d0, \uc778\ub371\uc2a4 <i>n<\/i>,<i>n<\/i>+1,... \ud558\uc9c0\ub9cc \uc21c\uc11c\uc5d0 \ud560\ub2f9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <i>n<\/i> \ub294,<i>I<\/i> \uc758 \ubaa8\ub4e0 \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \ud544\ub4dc\uc758 \uce74\uc6b4\ud2b8\uc218\uc785\ub2c8\ub2e4.<\/li>\n            <\/ul>\n         \uc774 \uacc4\uc0b0\uc5d0\ub294, \ud544\ub4dc \uc218\uc2dd\uc790 (static, public, private \ub4f1)\uc758 \uc885\ub958\uc5d0 \uad00\uacc4\uc5c6\uc774, \ubaa8\ub4e0 \ud544\ub4dc\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n         \uc608\ub97c \ub4e4\uc5b4, \ub2e4\uc74c\uacfc \uac19\uc740 \ud074\ub798\uc2a4\uc640 \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc9c0\uc815\ub418\uace0 \uc788\ub2e4\uace0 \ud569\ub2c8\ub2e4.\n\n            <blockquote>\n          <pre>\ninterface I0 {\n    int p = 0;\n}\n\ninterface I1 extends I0 {\nint x = 1;\n}\n\ninterface I2 extends I0 {\n    int y = 2;\n}\n\nclass C1 implements I1 {\n    public static int a = 3;\n    private int b = 4;\n}\n\nclass C2 extends C1 implements I2 {\n    static int q = 5;\n    final int r = 6;\n}\n            <\/pre>\n          <\/blockquote>\n         <code>C1<\/code> \ub85c \ubd88\ub824 \uac04 <a href=\"#GetClassFields\"><code>GetClassFields<\/code><\/a> \ub85c\ubd80\ud130,<code>C1<\/code> \uc758 \ud544\ub4dc a, b \uac00 \uc774 \ucc28\ub840\ub85c \ub3cc\ub824\uc8fc\uc5b4\uc838<code>C2<\/code> \uc758 \ud544\ub4dc q, r \uac00 \uc774 \ucc28\ub840\ub85c \ubc18\ud658\ub418\ub294 \uac83\uc73c\ub85c \ud569\ub2c8\ub2e4. \ud074\ub798\uc2a4 <code>C1<\/code> \uc758 \uc778\uc2a4\ud134\uc2a4\uc758 \ud544\ub4dc \uc778\ub371\uc2a4\ub294, \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.\n\n         <dl>\n              <dd>\n              <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n                   <tbody>\n                       <tr>\n                          <td align=\"center\">a<\/td>\n                           <td align=\"center\">2<\/td>\n                           <td align=\"left\"><code>C1<\/code> \uac00 \uad6c\ud604\ud558\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub0b4\uc758 \ud544\ub4dc\uc758 \uce74\uc6b4\ud2b8\uc218\ub294 2 (<i>n<\/i>=2)\uc785\ub2c8\ub2e4. \uc989,<code>I0<\/code> \uc758 <code>p<\/code> \uc640 <code>I1<\/code> \uc758 <code>x<\/code> \uc785\ub2c8\ub2e4.<\/td>\n                      <\/tr>\n                     <tr>\n                          <td align=\"center\">b<\/td>\n                           <td align=\"center\">3<\/td>\n                           <td align=\"left\">\ud6c4\uc18d\uc758 \uc778\ub371\uc2a4.<\/td>\n                        <\/tr>\n                 <\/tbody>\n              <\/table>\n              <\/dd>\n         <\/dl>\n         \ud074\ub798\uc2a4 <code>C1<\/code> \ub3c4 \uac19\uc740 \ud544\ub4dc \uc778\ub371\uc2a4\ub97c \uac00\uc9d1\ub2c8\ub2e4.\n\n          <p>&nbsp;<\/p>\n         \ud074\ub798\uc2a4 <code>C2<\/code> \uc758 \uc778\uc2a4\ud134\uc2a4\uc758 \ud544\ub4dc \uc778\ub371\uc2a4\ub294, \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.\n\n         <dl>\n              <dd>\n              <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n                   <tbody>\n                       <tr>\n                          <td align=\"center\">a<\/td>\n                           <td align=\"center\">3<\/td>\n                           <td align=\"left\"><code>C2<\/code> \uac00 \uad6c\ud604\ud558\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub0b4\uc758 \ud544\ub4dc\uc758 \uce74\uc6b4\ud2b8\uc218\ub294 3 (<i>n<\/i>=3)\uc785\ub2c8\ub2e4. \uc989,<code>I0<\/code> \uc758 <code>p<\/code>,<code>I1<\/code> \uc758 <code>x<\/code>, \ubc0f <code>I2<\/code> \uc758 <code>y<\/code> (<code>C2<\/code> \uc758 \uc778\ud130\ud398\uc774\uc2a4)\uc785\ub2c8\ub2e4. <code>I0<\/code> \uc758 \ud544\ub4dc <code>p<\/code> \ub294 \ud55c \ubc88 \ubc16\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/td>\n                        <\/tr>\n                     <tr>\n                          <td align=\"center\">b<\/td>\n                           <td align=\"center\">4<\/td>\n                           <td align=\"left\">\u300ca\u300d\uc5d0 \uacc4\uc18d\ub418\ub294 \uc778\ub371\uc2a4.<\/td>\n                      <\/tr>\n                     <tr>\n                          <td align=\"center\">q<\/td>\n                           <td align=\"center\">5<\/td>\n                           <td align=\"left\">\u300cb\u300d\uc5d0 \uacc4\uc18d\ub418\ub294 \uc778\ub371\uc2a4.<\/td>\n                      <\/tr>\n                     <tr>\n                          <td align=\"center\">r<\/td>\n                           <td align=\"center\">6<\/td>\n                           <td align=\"left\">\u300cq\u300d\uc5d0 \uacc4\uc18d\ub418\ub294 \uc778\ub371\uc2a4.<\/td>\n                      <\/tr>\n                 <\/tbody>\n              <\/table>\n              <\/dd>\n         <\/dl>\n         \ud074\ub798\uc2a4 <code>C2<\/code> \ub3c4 \uac19\uc740 \ud544\ub4dc \uc778\ub371\uc2a4\ub97c \uac00\uc9d1\ub2c8\ub2e4. \uc0c1\uae30\uc758 \ud544\ub4dc \u300ca\u300d\uc640 \uac19\uc774, \uac19\uc740 \ud544\ub4dc\uac00, \ucc38\uc870\uce21 \uac1d\uccb4 \ub9c8\ub2e4 \ub2e4\ub978 \uc778\ub371\uc2a4\ub97c \uac00\uc9c8 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub610, \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ubaa8\ub4e0 \ud544\ub4dc \uc778\ub371\uc2a4\uac00 \uac00\uc2dc\uac00 \ub418\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4\ub9cc, \uc5ec\uae30\uc5d0\uc11c\ub294 \uc124\uba85\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ubaa8\ub4e0 \uc778\ub371\uc2a4\ub97c \ub098\ud0c0\ub0b4\uace0 \uc788\uc2b5\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n         \uc778\ud130\ud398\uc774\uc2a4 <code>I1<\/code> \ub3c4 \uac19\uc740 \ud544\ub4dc \uc778\ub371\uc2a4\ub97c \uac00\uc9d1\ub2c8\ub2e4.\n\n          <dl>\n              <dd>\n              <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n                   <tbody>\n                       <tr>\n                          <td align=\"center\">x<\/td>\n                           <td align=\"center\">1<\/td>\n                           <td align=\"left\"><code>I1<\/code> \uc758 \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub0b4\uc758 \ud544\ub4dc\uc758 \uce74\uc6b4\ud2b8\uc218\ub294 1 (<i>n<\/i>=1)\uc785\ub2c8\ub2e4. \uc989,<code>I0<\/code> \uc758 <code>p<\/code> \uc785\ub2c8\ub2e4.<\/td>\n                       <\/tr>\n                 <\/tbody>\n              <\/table>\n              <\/dd>\n         <\/dl>\n         <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfoArray\">\ubc30\uc5f4 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p><a href=\"#JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT\"><code>JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT<\/code><\/a> \ucc38\uc870\uc5d0 \ub300\ud574\uc11c \ubc18\ud658\ub418\ub294 \ucc38\uc870 \uc815\ubcf4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jint index;\n} jvmtiHeapReferenceInfoArray;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfoArray<\/code> - \ubc30\uc5f4 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoArray.index\">index<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubc30\uc5f4\uc758 \uc778\ub371\uc2a4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfoConstantPool\">\uc815\uc218 \ud480 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p><a href=\"#JVMTI_HEAP_REFERENCE_CONSTANT_POOL\"><code>JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code><\/a> \ucc38\uc870\uc5d0 \ub300\ud574\uc11c \ubc18\ud658\ub418\ub294 \ucc38\uc870 \uc815\ubcf4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jint index;\n} jvmtiHeapReferenceInfoConstantPool;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfoConstantPool<\/code> - \uc815\uc218 \ud480 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoConstantPool.index\">index<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud074\ub798\uc2a4\uc758 \uc815\uc218 \ud480\ub0b4\uc758 \uc778\ub371\uc2a4. <a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html#20080\">\u300cConstant Pool\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. <i><\/i><\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfoStackLocal\">\uad6d\uc18c \ubcc0\uc218 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p><a href=\"#JVMTI_HEAP_REFERENCE_STACK_LOCAL\"><code>JVMTI_HEAP_REFERENCE_STACK_LOCAL<\/code><\/a> \ucc38\uc870\uc5d0 \ub300\ud574\uc11c \ubc18\ud658\ub418\ub294 \ucc38\uc870 \uc815\ubcf4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jlong thread_tag;\n    jlong thread_id;\n    jint depth;\n    jmethodID method;\n    jlocation location;\n    jint slot;\n} jvmtiHeapReferenceInfoStackLocal;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfoStackLocal<\/code> - \uad6d\uc18c \ubcc0\uc218 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoStackLocal.thread_tag\">thread_tag<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc774 \uc2a4\ud0dd\uc5d0 \ub300\uc751\ud558\ub294 thread\uc758 \ud0dc\uadf8. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoStackLocal.thread_id\">thread_id<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc774 \uc2a4\ud0dd\uc5d0 \ub300\uc751\ud558\ub294 thread\uc758 \uc77c\uc758\uc758 thread ID.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoStackLocal.depth\">depth<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoStackLocal.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc774 \ud504\ub808\uc784\ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uba54\uc18c\ub4dc.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoStackLocal.location\">location<\/code><\/td>\n           <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc774 \ud504\ub808\uc784\ub0b4\uc5d0\uc11c \ud604\uc7ac \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uc704\uce58.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoStackLocal.slot\">slot<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uad6d\uc18c \ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfoJniLocal\">JNI \ub85c\uceec \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p><a href=\"#JVMTI_HEAP_REFERENCE_JNI_LOCAL\"><code>JVMTI_HEAP_REFERENCE_JNI_LOCAL<\/code><\/a> \ucc38\uc870\uc5d0 \ub300\ud574\uc11c \ubc18\ud658\ub418\ub294 \ucc38\uc870 \uc815\ubcf4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jlong thread_tag;\n    jlong thread_id;\n    jint depth;\n    jmethodID method;\n} jvmtiHeapReferenceInfoJniLocal;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfoJniLocal<\/code> - JNI \ub85c\uceec \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoJniLocal.thread_tag\">thread_tag<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc774 \uc2a4\ud0dd\uc5d0 \ub300\uc751\ud558\ub294 thread\uc758 \ud0dc\uadf8. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoJniLocal.thread_id\">thread_id<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc774 \uc2a4\ud0dd\uc5d0 \ub300\uc751\ud558\ub294 thread\uc758 \uc77c\uc758\uc758 thread ID.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoJniLocal.depth\">depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoJniLocal.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc774 \ud504\ub808\uc784\ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uba54\uc18c\ub4dc.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfoReserved\">\uadf8 \uc678\uc758 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p>\uadf8 \uc678\uc758 \ucc38\uc870\uc5d0 \ub300\ud574\uc11c \ubc18\ud658\ub418\ub294 \ucc38\uc870 \uc815\ubcf4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jlong reserved1;\n    jlong reserved2;\n    jlong reserved3;\n    jlong reserved4;\n    jlong reserved5;\n    jlong reserved6;\n    jlong reserved7;\n    jlong reserved8;\n} jvmtiHeapReferenceInfoReserved;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfoReserved<\/code> - \uadf8 \uc678\uc758 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved1\">reserved1<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved2\">reserved2<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved3\">reserved3<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved4\">reserved4<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved5\">reserved5<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved6\">reserved6<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved7\">reserved7<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfoReserved.reserved8\">reserved8<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapReferenceInfo\">\ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/h4>\n\n<p>\ucc38\uc870 \uce21\uc5d0 \uad00\uacc4\ud574 \ubc18\ud658\ub418\ub294 \uc815\ubcf4. \uac01\uc885 \ucc38\uc870 \uc815\ubcf4\uc758 \uacf5\uc6a9\uccb4\ub85c\uc11c \ub098\ud0c0\ub0b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef union {\n    jvmtiHeapReferenceInfoField field;\n    jvmtiHeapReferenceInfoArray array;\n    jvmtiHeapReferenceInfoConstantPool constant_pool;\n    jvmtiHeapReferenceInfoStackLocal stack_local;\n    jvmtiHeapReferenceInfoJniLocal jni_local;\n    jvmtiHeapReferenceInfoReserved other;\n} jvmtiHeapReferenceInfo;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapReferenceInfo<\/code> - \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfo.field\">field<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceInfoField\">jvmtiHeapReferenceInfoField<\/a> <\/code><\/td>\n           <td><a href=\"#JVMTI_HEAP_REFERENCE_FIELD\"><code>JVMTI_HEAP_REFERENCE_FIELD<\/code><\/a> \ubc0f <a href=\"#JVMTI_HEAP_REFERENCE_STATIC_FIELD\"><code>JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/a> \ucc38\uc870\uc758 \ucc38\uc870\uce21 \uc815\ubcf4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfo.array\">array<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceInfoArray\">jvmtiHeapReferenceInfoArray<\/a> <\/code><\/td>\n           <td><a href=\"#JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT\"><code>JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT<\/code><\/a> \ucc38\uc870\uc758 \ucc38\uc870\uce21 \uc815\ubcf4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfo.constant_pool\">constant_pool<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceInfoConstantPool\">jvmtiHeapReferenceInfoConstantPool<\/a> <\/code><\/td>\n         <td><a href=\"#JVMTI_HEAP_REFERENCE_CONSTANT_POOL\"><code>JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code><\/a> \ucc38\uc870\uc758 \ucc38\uc870\uce21 \uc815\ubcf4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfo.stack_local\">stack_local<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceInfoStackLocal\">jvmtiHeapReferenceInfoStackLocal<\/a> <\/code><\/td>\n         <td><a href=\"#JVMTI_HEAP_REFERENCE_STACK_LOCAL\"><code>JVMTI_HEAP_REFERENCE_STACK_LOCAL<\/code><\/a> \ucc38\uc870\uc758 \ucc38\uc870\uce21 \uc815\ubcf4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfo.jni_local\">jni_local<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceInfoJniLocal\">jvmtiHeapReferenceInfoJniLocal<\/a> <\/code><\/td>\n         <td><a href=\"#JVMTI_HEAP_REFERENCE_JNI_LOCAL\"><code>JVMTI_HEAP_REFERENCE_JNI_LOCAL<\/code><\/a> \ucc38\uc870\uc758 \ucc38\uc870\uce21 \uc815\ubcf4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapReferenceInfo.other\">other<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceInfoReserved\">jvmtiHeapReferenceInfoReserved<\/a> <\/code><\/td>\n         <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiHeapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218 \uad6c\uc870\uccb4<\/h4>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jvmtiHeapIterationCallback heap_iteration_callback;\n    jvmtiHeapReferenceCallback heap_reference_callback;\n    jvmtiPrimitiveFieldCallback primitive_field_callback;\n    jvmtiArrayPrimitiveValueCallback array_primitive_value_callback;\n    jvmtiStringPrimitiveValueCallback string_primitive_value_callback;\n    jvmtiReservedCallback reserved5;\n    jvmtiReservedCallback reserved6;\n    jvmtiReservedCallback reserved7;\n    jvmtiReservedCallback reserved8;\n    jvmtiReservedCallback reserved9;\n    jvmtiReservedCallback reserved10;\n    jvmtiReservedCallback reserved11;\n    jvmtiReservedCallback reserved12;\n    jvmtiReservedCallback reserved13;\n    jvmtiReservedCallback reserved14;\n    jvmtiReservedCallback reserved15;\n} jvmtiHeapCallbacks;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiHeapCallbacks<\/code> - heap \ucf5c\ubc31 \ud568\uc218 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.heap_iteration_callback\">heap_iteration_callback<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapIterationCallback\">jvmtiHeapIterationCallback<\/a> <\/code><\/td>\n         <td>heap\ub0b4\uc758 \uac1d\uccb4\ub97c \uae30\uc220\ud558\uae30 \uc704\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31. <a href=\"#IterateThroughHeap\"><code>IterateThroughHeap<\/code><\/a> \ud568\uc218\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\uc5b4<a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \ud568\uc218\uc5d0 \uc758\ud574 \ubb34\uc2dc\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.heap_reference_callback\">heap_reference_callback<\/code><\/td>\n           <td><code><a href=\"#jvmtiHeapReferenceCallback\">jvmtiHeapReferenceCallback<\/a> <\/code><\/td>\n         <td>\uac1d\uccb4 \ucc38\uc870\ub97c \uae30\uc220\ud558\uae30 \uc704\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31. <a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \ud568\uc218\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\uc5b4<a href=\"#IterateThroughHeap\"><code>IterateThroughHeap<\/code><\/a> \ud568\uc218\uc5d0 \uc758\ud574 \ubb34\uc2dc\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.primitive_field_callback\">primitive_field_callback<\/code><\/td>\n         <td><code><a href=\"#jvmtiPrimitiveFieldCallback\">jvmtiPrimitiveFieldCallback<\/a> <\/code><\/td>\n           <td>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc\ub97c \uae30\uc220\ud558\uae30 \uc704\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.array_primitive_value_callback\">array_primitive_value_callback<\/code><\/td>\n         <td><code><a href=\"#jvmtiArrayPrimitiveValueCallback\">jvmtiArrayPrimitiveValueCallback<\/a> <\/code><\/td>\n         <td>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58\uc758 \ubc30\uc5f4\uc744 \uae30\uc220\ud558\uae30 \uc704\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.string_primitive_value_callback\">string_primitive_value_callback<\/code><\/td>\n           <td><code><a href=\"#jvmtiStringPrimitiveValueCallback\">jvmtiStringPrimitiveValueCallback<\/a> <\/code><\/td>\n           <td>String \uce58\ub97c \uae30\uc220\ud558\uae30 \uc704\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved5\">reserved5<\/code><\/td>\n           <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved6\">reserved6<\/code><\/td>\n           <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved7\">reserved7<\/code><\/td>\n           <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved8\">reserved8<\/code><\/td>\n           <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved9\">reserved9<\/code><\/td>\n           <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved10\">reserved10<\/code><\/td>\n         <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved11\">reserved11<\/code><\/td>\n         <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved12\">reserved12<\/code><\/td>\n         <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved13\">reserved13<\/code><\/td>\n         <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved14\">reserved14<\/code><\/td>\n         <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiHeapCallbacks.reserved15\">reserved15<\/code><\/td>\n         <td><code><a href=\"#jvmtiReservedCallback\">jvmtiReservedCallback<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p style=\"color: purple\">\uc6d0\ub9ac\uc758 \uc124\uba85: heap \ub364\ud504 \uae30\ub2a5 (\uc544\ub798\uc640 \uac19\uc774)\uc740, \uac01 \uac1d\uccb4\uc5d0 \ucf5c\ubc31\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ubc84\ud37c \ubc29\uc2dd \ucabd\uc774 throughput\uac00 \ub192\ub2e4\uace0 \uc0dd\uac01\ub429\ub2c8\ub2e4\ub9cc, \ud14c\uc2a4\ud2b8\uc5d0\uc11c\ub294, \uadf8\ub7ec\ud55c \uacb0\uacfc\ub294 \uc5bb\uc744 \uc218 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uba54\ubaa8\ub9ac \ucc38\uc870\uc758 \uc7a5\uc18c \ub610\ub294 \ubc30\uc5f4 \uc561\uc138\uc2a4\uc758 \uc624\ubc14\ud5f7\ub4dc\uc5d0 \uc758\ud558\ub294 \uac83\uc774\ub77c\uace0 \uc0dd\uac01\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"jvmtiHeapIterationCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>heap \ubc18\ubcf5 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jint (JNICALL *jvmtiHeapIterationCallback)\n    (jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     jint length,\n     void* user_data);<\/pre>\n         <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. heap\ub0b4\uc758 \uac1d\uccb4\ub97c \uae30\uc220\ud569\ub2c8\ub2e4\ub9cc, \uac12\uc740 \uac74\ub124\uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n\n           <p>&nbsp;<\/p>\n         \uc774 \ud568\uc218\ub294, \ud544\uc694\ud55c<a href=\"#jvmtiHeapVisitControl\">\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uc804\uccb4\ub97c \uc911\uc9c0\ud574\uc57c\ud560 \uac83\uc778\uac00 \uc81c\ubc1c\uc774 \uc815\ud574\uc9d1\ub2c8\ub2e4 (<code>JVMTI_VISIT_OBJECTS<\/code> \ud50c\ub798\uadf8\ub294 \ubb34\uc2dc\ub41c\ub2e4).\n\n          <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapIterationCallback.class_tag\">class_tag<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapIterationCallback.size\">size<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapIterationCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\uac1d\uccb4\uc758 \ud0dc\uadf8\uce58. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapIterationCallback.length\">length<\/code><\/td>\n                     <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td>\uc774 \uac1d\uccb4\uac00 \ubc30\uc5f4\uc778 \uacbd\uc6b0\ub294 \uadf8 \ubc30\uc5f4\uc758 \uae38\uc774. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 \ub9c8\uc774\ub108\uc2a4 1 (-1).<\/td>\n                    <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapIterationCallback.user_data\">user_data<\/code><\/td>\n                       <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiHeapReferenceCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>heap \ucc38\uc870 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n  <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jint (JNICALL *jvmtiHeapReferenceCallback)\n    (jvmtiHeapReferenceKind reference_kind,\n     const jvmtiHeapReferenceInfo* reference_info,\n     jlong class_tag,\n     jlong referrer_class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     jlong* referrer_tag_ptr,\n     jint length,\n     void* user_data);<\/pre>\n         <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. \uc5b4\ub290 \uac1d\uccb4 \ub610\ub294 VM (\ucc38\uc870\uce21)\ub85c\ubd80\ud130 \ub2e4\ub978 \uac1d\uccb4 (\ucc38\uc870\ucc98)\uc5d0\uc758 \ucc38\uc870, \ub610\ub294 \uc788\ub294 heap \ub8e8\ud2b8\ub85c\ubd80\ud130 \uc788\ub294 \ucc38\uc870\ucc98\uc5d0\uc758 \ucc38\uc870\ub97c \uae30\uc220\ud569\ub2c8\ub2e4.\n\n          <p>&nbsp;<\/p>\n         \uc774 \ud568\uc218\ub294, \ud544\uc694\ud55c<a href=\"#jvmtiHeapVisitControl\">\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \ucc38\uc870\ucc98\uac00 \ucc38\uc870\ud558\uace0 \uc788\ub294 \uac1d\uccb4\ub97c \ube44\uc9d3\ud2b8\ud574\uc57c\ud560 \uac83\uc778\uac00 \uc81c\ubc1c\uc774\ub098, \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uc804\uccb4\ub97c \uc911\uc9c0\ud574\uc57c\ud560 \uac83\uc778\uac00 \uc81c\ubc1c\uc774 \uc815\ud574\uc9d1\ub2c8\ub2e4.\n\n           <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.reference_kind\">reference_kind<\/code><\/td>\n                     <td><code><a href=\"#jvmtiHeapReferenceKind\">jvmtiHeapReferenceKind<\/a> <\/code><\/td>\n                     <td>\ucc38\uc870\uc758 \uc885\ub958.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.reference_info\">reference_info<\/code><\/td>\n                     <td><code>const <a href=\"#jvmtiHeapReferenceInfo\">jvmtiHeapReferenceInfo<\/a> *<\/code><\/td>\n                      <td>\ucc38\uc870\uc5d0 \uad00\ud55c \uc0c1\uc138. <a href=\"#.reference_kind\"><code>reference_kind<\/code><\/a> \uac00 <a href=\"#JVMTI_HEAP_REFERENCE_FIELD\"><code>JVMTI_HEAP_REFERENCE_FIELD<\/code><\/a> ,<a href=\"#JVMTI_HEAP_REFERENCE_STATIC_FIELD\"><code>JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/a> ,<a href=\"#JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT\"><code>JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT<\/code><\/a> ,<a href=\"#JVMTI_HEAP_REFERENCE_CONSTANT_POOL\"><code>JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code><\/a> ,<a href=\"#JVMTI_HEAP_REFERENCE_STACK_LOCAL\"><code>JVMTI_HEAP_REFERENCE_STACK_LOCAL<\/code><\/a> , \ub610\ub294 <a href=\"#JVMTI_HEAP_REFERENCE_JNI_LOCAL\"><code>JVMTI_HEAP_REFERENCE_JNI_LOCAL<\/code><\/a> \uc758 \uacbd\uc6b0\ub85c \uc124\uc815\ub41c\ub2e4. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 <code>NULL<\/code>.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.class_tag\">class_tag<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ucc38\uc870\ub418\ub294 \uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \ucc38\uc870\ub41c \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.referrer_class_tag\">referrer_class_tag<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ucc38\uc870\uce21 \uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud074\ub798\uc2a4\uc5d0 \ud0dc\uadf8\uac00 \ubd99\uc9c0 \uc54a\uc740\uac00 \ucc38\uc870\ucc98\uac00 heap \ub8e8\ud2b8\uc778 \uacbd\uc6b0\ub294 \uc81c\ub85c). \ucc38\uc870\uce21 \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>referrer_class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.size\">size<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ucc38\uc870\ub418\ub294 \uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\ucc38\uc870\ub418\ub294 \uac1d\uccb4\uc758 \ud0dc\uadf8\uce58\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.referrer_tag_ptr\">referrer_tag_ptr<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\ucc38\uc870\uce21 \uac1d\uccb4\uc758 \ud0dc\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ucc38\uc870\uce21 \uac1d\uccb4\uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ucc38\uc870\uce21\uc774 \uac1d\uccb4\uac00 \uc544\ub2cc (\uc989, \uc774 \ucf5c\ubc31\uc758 \ubcf4\uace0 \ub300\uc0c1\uc774 heap \ub8e8\ud2b8\uc774\ub2e4) \uacbd\uc6b0\ub294 <code>NULL<\/code>. \ucc38\uc870\uce21 \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uce58\ub97c \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4. \uc774 \ucf5c\ubc31\uc758 \ubcf4\uace0 \ub300\uc0c1\uc774, \uc5b4\ub290 \uac1d\uccb4\ub85c\ubd80\ud130 \uadf8 \uac1d\uccb4 \uc790\uc2e0\uc5d0\uac8c\ub85c\uc758 \ucc38\uc870\uc778 \uacbd\uc6b0\ub294,<code>referrer_tag_ptr == tag_ptr<\/code> \uac00 \ub41c\ub2e4.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.length\">length<\/code><\/td>\n                     <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td>\uc774 \uac1d\uccb4\uac00 \ubc30\uc5f4\uc778 \uacbd\uc6b0\ub294 \uadf8 \ubc30\uc5f4\uc758 \uae38\uc774. \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 \ub9c8\uc774\ub108\uc2a4 1 (-1).<\/td>\n                    <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapReferenceCallback.user_data\">user_data<\/code><\/td>\n                       <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiPrimitiveFieldCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n    <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jint (JNICALL *jvmtiPrimitiveFieldCallback)\n    (jvmtiHeapReferenceKind kind,\n     const jvmtiHeapReferenceInfo* info,\n     jlong object_class_tag,\n     jlong* object_tag_ptr,\n     jvalue value,\n     jvmtiPrimitiveType value_type,\n     void* user_data);<\/pre>\n         <\/blockquote>\n         \uc5b4\ub290 \uac1d\uccb4 ( \u300c\uac1d\uccb4\u300d)\uc758 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc\ub97c \uae30\uc220\ud558\ub294, \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. <i><\/i>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc\ub780, \ud615\ud0dc\uac00 \uc6d0\uc2dc\ud615\uc778 \ud544\ub4dc\uc785\ub2c8\ub2e4. \uc774 \ucf5c\ubc31\uc740, \uac1d\uccb4\uac00 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 static \ud544\ub4dc\ub97c, \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\ub97c \uac01\uac01 \uae30\uc220\ud569\ub2c8\ub2e4.\n\n          <p>&nbsp;<\/p>\n         \uc774 \ud568\uc218\ub294, \ud544\uc694\ud55c<a href=\"#jvmtiHeapVisitControl\">\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uc804\uccb4\ub97c \uc911\uc9c0\ud574\uc57c\ud560 \uac83\uc778\uac00 \uc81c\ubc1c\uc774 \uc815\ud574\uc9d1\ub2c8\ub2e4 (<code>JVMTI_VISIT_OBJECTS<\/code> \ud50c\ub798\uadf8\ub294 \ubb34\uc2dc\ub41c\ub2e4).\n\n          <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.kind\">kind<\/code><\/td>\n                        <td><code><a href=\"#jvmtiHeapReferenceKind\">jvmtiHeapReferenceKind<\/a> <\/code><\/td>\n                     <td>\ud544\ub4dc\uc758 \uc885\ub958 -- \uc778\uc2a4\ud134\uc2a4 \ub610\ub294 static (<a href=\"#JVMTI_HEAP_REFERENCE_FIELD\"><code>JVMTI_HEAP_REFERENCE_FIELD<\/code><\/a> \ub610\ub294 <a href=\"#JVMTI_HEAP_REFERENCE_STATIC_FIELD\"><code>JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/a> ).<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.info\">info<\/code><\/td>\n                        <td><code>const <a href=\"#jvmtiHeapReferenceInfo\">jvmtiHeapReferenceInfo<\/a> *<\/code><\/td>\n                      <td>\uc5b4\ub290 \ud544\ub4dc\uc778\uac00 (\ud544\ub4dc\uc758 \uc778\ub371\uc2a4).<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.object_class_tag\">object_class_tag<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>object_class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.object_tag_ptr\">object_tag_ptr<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\uac1d\uccb4\uc758 \ud0dc\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.value\">value<\/code><\/td>\n                      <td><code><a href=\"#jvalue\">jvalue<\/a> <\/code><\/td>\n                     <td>\ud544\ub4dc\uc758 \uac12.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.value_type\">value_type<\/code><\/td>\n                        <td><code><a href=\"#jvmtiPrimitiveType\">jvmtiPrimitiveType<\/a> <\/code><\/td>\n                     <td>\ud544\ub4dc\uc758 \ud615\ud0dc.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiPrimitiveFieldCallback.user_data\">user_data<\/code><\/td>\n                      <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiArrayPrimitiveValueCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubc30\uc5f4 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jint (JNICALL *jvmtiArrayPrimitiveValueCallback)\n    (jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     jint element_count,\n     jvmtiPrimitiveType element_type,\n     const void* elements,\n     void* user_data);<\/pre>\n         <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. \uc5b4\ub290 \uc6d0\uc2dc\ud615\uc758 \ubc30\uc5f4\ub0b4\uc758 \uac12\uc744 \uae30\uc220\ud569\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n         \uc774 \ud568\uc218\ub294, \ud544\uc694\ud55c<a href=\"#jvmtiHeapVisitControl\">\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uc804\uccb4\ub97c \uc911\uc9c0\ud574\uc57c\ud560 \uac83\uc778\uac00 \uc81c\ubc1c\uc774 \uc815\ud574\uc9d1\ub2c8\ub2e4 (<code>JVMTI_VISIT_OBJECTS<\/code> \ud50c\ub798\uadf8\ub294 \ubb34\uc2dc\ub41c\ub2e4).\n\n          <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.class_tag\">class_tag<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ubc30\uc5f4 \uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.size\">size<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ubc30\uc5f4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\ubc30\uc5f4 \uac1d\uccb4\uc758 \ud0dc\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                    <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.element_count\">element_count<\/code><\/td>\n                     <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ubc30\uc5f4\uc758 \uae38\uc774.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.element_type\">element_type<\/code><\/td>\n                       <td><code><a href=\"#jvmtiPrimitiveType\">jvmtiPrimitiveType<\/a> <\/code><\/td>\n                     <td>\ubc30\uc5f4\uc758 \uc694\uc18c\uc758 \ud615\ud0dc.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.elements\">elements<\/code><\/td>\n                       <td><code>const void*<\/code><\/td>\n                     <td>\ubc30\uc5f4\uc758 \uc694\uc18c. \uc774 \ubc30\uc5f4\uc740,<code>element_type<\/code> \uc758 \uc0ac\uc774\uc988\ub97c \uac00\uc9c0\ub294 <code>element_count<\/code> \uac1c\uc758 \ud56d\ubaa9\uc73c\ub85c\ubd80\ud130 \uc644\uc131\ub418\ub294 \ud329 \ubc30\uc5f4\uc774 \ub41c\ub2e4.<\/td>\n                    <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiArrayPrimitiveValueCallback.user_data\">user_data<\/code><\/td>\n                     <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiStringPrimitiveValueCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uce90\ub9ad\ud130 \ub77c\uc778 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jint (JNICALL *jvmtiStringPrimitiveValueCallback)\n    (jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     const jchar* value,\n     jint value_length,\n     void* user_data);<\/pre>\n          <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. java.lang.String \uc758 \uac12\uc744 \uae30\uc220\ud569\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n         \uc774 \ud568\uc218\ub294, \ud544\uc694\ud55c<a href=\"#jvmtiHeapVisitControl\">\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uc804\uccb4\ub97c \uc911\uc9c0\ud574\uc57c\ud560 \uac83\uc778\uac00 \uc81c\ubc1c\uc774 \uc815\ud574\uc9d1\ub2c8\ub2e4 (<code>JVMTI_VISIT_OBJECTS<\/code> \ud50c\ub798\uadf8\ub294 \ubb34\uc2dc\ub41c\ub2e4).\n\n          <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStringPrimitiveValueCallback.class_tag\">class_tag<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>String \ud074\ub798\uc2a4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStringPrimitiveValueCallback.size\">size<\/code><\/td>\n                      <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uce90\ub9ad\ud130 \ub77c\uc778\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStringPrimitiveValueCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>String \uac1d\uccb4\uc758 \ud0dc\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStringPrimitiveValueCallback.value\">value<\/code><\/td>\n                        <td><code>const <a href=\"#jchar\">jchar<\/a> *<\/code><\/td>\n                        <td>String \uc758 \uac12. Unicode \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStringPrimitiveValueCallback.value_length\">value_length<\/code><\/td>\n                      <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td>\uce90\ub9ad\ud130 \ub77c\uc778\uc758 \uae38\uc774. \uc774 \uae38\uc774\ub294, \uce90\ub9ad\ud130 \ub77c\uc778\ub0b4\uc758 16 \ube44\ud2b8 Unicode \ubb38\uc790\uc758 \uc218\uc5d0 \ub3d9\uc77c\ud574\uc9c4\ub2e4.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStringPrimitiveValueCallback.user_data\">user_data<\/code><\/td>\n                        <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiReservedCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc7a5\ub798 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \uc608\uc57d\ub41c \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jint (JNICALL *jvmtiReservedCallback)\n    ();<\/pre>\n           <\/blockquote>\n         \ud50c\ub808\uc774\uc2a4\ud640\ub354- -- \uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc\uc785\ub2c8\ub2e4.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"FollowReferences\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ucc38\uc870\uc758 \ucd94\uc801<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nFollowReferences(jvmtiEnv* env,\n            jint heap_filter,\n            jclass klass,\n            jobject initial_object,\n            const jvmtiHeapCallbacks* callbacks,\n            const void* user_data)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub294, \uc9c0\uc815\ub41c \uac1d\uccb4\ub85c\ubd80\ud130 \uc9c1\uc811\uc801, \uac04\uc811\uc801\uc73c\ub85c \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 traversal\ub97c \uac1c\uc2dc\ud569\ub2c8\ub2e4. <code>initial_object<\/code> \uac00 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\ub358 \uacbd\uc6b0\ub294, heap \ub8e8\ud2b8\ub85c\ubd80\ud130 \ub3c4\ub2ec \uac00\ub2a5\ud55c \ubaa8\ub4e0 \uac1d\uccb4\uac00 \ub300\uc0c1\uc774 \ub429\ub2c8\ub2e4. heap \ub8e8\ud2b8\ub294, \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4, JNI \uae00\ub85c\ubc8c, thread \uc2a4\ud0dd\uc73c\ub85c\ubd80\ud130\uc758 \ucc38\uc870, \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \ubaa9\uc801\uc73c\ub85c \ub8e8\ud2b8\ub85c\uc11c \uc0ac\uc6a9\ub418\ub294 \uadf8 \uc678\uc758 \uac1d\uccb4\uc138\ud2b8\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\ub294, \ucc38\uc870 \uadf8\ub798\ud504\ub97c \ud6a1\ub2e8(traverse) \ud558\ub294 \uac83\uc73c\ub85c \ub3d9\uc791\ud569\ub2c8\ub2e4. <i>A<\/i>,<i>B<\/i>,... \ud558\uc9c0\ub9cc \uac1d\uccb4\ub97c \ub098\ud0c0\ub0b8\ub2e4\uace0 \ud569\ub2c8\ub2e4. <i>A<\/i> \ub85c\ubd80\ud130 <i>B<\/i> \uc5d0\uc758 \ucc38\uc870\uac00 \ud6a1\ub2e8(traverse) \ub418\uc5c8\uc744 \uacbd\uc6b0, heap \ub8e8\ud2b8\ub85c\ubd80\ud130 <i>B<\/i> \uc5d0\uc758 \ucc38\uc870\uac00 \ud6a1\ub2e8(traverse) \ub418\uc5c8\uc744 \uacbd\uc6b0, \ub610\ub294 <i>B<\/i> \uac00 <a href=\"#FollowReferences.initial_object\"><code>initial_object<\/code><\/a> \ub85c\uc11c \uc9c0\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0\uc5d0,<i>B<\/i> \uac00 \u300c\ube44\uc9d3\ud2b8\u300d\ub418\uc5c8\ub2e4\uace0 \ud569\ub2c8\ub2e4. <i><\/i><i>A<\/i> \ub85c\ubd80\ud130 <i>B<\/i> \uc5d0\uc758 \ucc38\uc870\uac00 \ud6a1\ub2e8(traverse) \ub418\ub294 \uac83\uc740,<i>A<\/i> \uc758 \ube44\uc9d3\ud2b8 \ub2e4\uc74c\uc5d0. \ucc38\uc870\uc758 \ubcf4\uace0 \uc21c\uc11c\ub294, \ucc38\uc870\uc758 \ud6a1\ub2e8(traverse) \uc21c\uc11c\uc640 \uac19\uac8c \ub429\ub2c8\ub2e4. \uac1d\uccb4 \ucc38\uc870\uc758 \ubcf4\uace0\ub294, \uc5d0\uc774\uc804\ud2b8\ub85c\ubd80\ud130 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218 <a href=\"#jvmtiHeapReferenceCallback\"><code>jvmtiHeapReferenceCallback<\/code><\/a> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \ud589\ud574\uc9d1\ub2c8\ub2e4. <i>A<\/i> \ub85c\ubd80\ud130 <i>B<\/i> \uc5d0\uc758 \ucc38\uc870\ub85c,<i>A<\/i> \ub294 \u300c\ucc38\uc870\uce21\u300d,<i>B<\/i> \ub294 \u300c\ucc38\uc870\ucc98\u300d\ub77c\uace0 \ubd88\ub9bd\ub2c8\ub2e4. <i><\/i><i><\/i>\ucf5c\ubc31\uc740, \ucc38\uc870 \uce21\uc5d0\uc11c\uc758 \ucc38\uc870\ub9c8\ub2e4 1 \ud68c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ucc38\uc870 \uc0ac\uc774\ud074\uc774\ub098, \ucc38\uc870\uce21\uc778 \ud328\uc2a4\uac00 \ubcf5\uc218 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0\ub3c4 \uac19\uc2b5\ub2c8\ub2e4. \ucc38\uc870\uce21\uacfc \ucc38\uc870\ucc98\uc640\uc758 \uc0ac\uc774\uc5d0 \ucc38\uc870\uac00 \ubcf5\uc218 \uc874\uc7ac\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4\ub9cc, \uadf8 \uacbd\uc6b0\ub294, \uac01\uac01\uc758 \ucc38\uc870\uac00 \ubcf4\uace0\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ucc38\uc870\ub97c \uad6c\ubcc4\ud558\ub824\uba74 ,<a href=\"#jvmtiHeapReferenceCallback\"><code>jvmtiHeapReferenceCallback<\/code><\/a> \ucf5c\ubc31\uc758 <a href=\"#jvmtiHeapReferenceCallback.reference_kind\"><code>reference_kind<\/code><\/a> \ubc0f <a href=\"#jvmtiHeapReferenceCallback.reference_info\"><code>reference_info<\/code><\/a> \ud30c\ub77c\ubbf8\ud130\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uac00 \ubcf4\uace0\ud558\ub294 \uac83\uc740, \uac1d\uccb4 \ucc38\uc870\uc758 Java \ud504\ub85c\uadf8\ub77c\ubc0d\ub67b\ub6ad\ubdf0\uc774\uba70, \uac00\uc0c1 \uba38\uc2e0 \uad6c\ud604 \ubdf0\uac00 \uc544\ub2d9\ub2c8\ub2e4. null \uc774\uc678\uc758 \ub2e4\uc74c\uc758 \uac1d\uccb4 \ucc38\uc870\uac00 \ubcf4\uace0\ub429\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n  <li>\uc778\uc2a4\ud134\uc2a4 \uac1d\uccb4\ub294, \uac01 \ube44\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc (\uc0c1\uc18d\ub41c \ud544\ub4dc\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/li>\n    <li>\uc778\uc2a4\ud134\uc2a4 \uac1d\uccb4\ub294, \uadf8 \uac1d\uccb4\uc758 \ud615\ud0dc (\ud074\ub798\uc2a4)\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/li>\n  <li>\ud074\ub798\uc2a4\ub294, \uc288\ud37c \ud074\ub798\uc2a4\uc5d0\uc758 \ucc38\uc870\uc640 \uc9c1\uc811 \uad6c\ud604 \ub610\ub294 \ud655\uc7a5\ud55c \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/li>\n <li>\ud074\ub798\uc2a4\ub294, \ud074\ub798\uc2a4 \ub85c\ub354, \ubcf4\ud638 \ub3c4\uba54\uc778, \uc11c\uba85\uc790, \ubc0f \uc815\uc218 \ud480\ub0b4\uc758 \ud574\uacb0 \uc9c0\uc74c \uc5d4\ud2b8\ub9ac\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/li>\n   <li>\ud074\ub798\uc2a4\ub294, \uc9c1\uc811 \uc120\uc5b8\ub41c \uac01 \ube44\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) static \ud544\ub4dc\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/li>\n  <li>\ubc30\uc5f4\uc740, \uadf8 \ubc30\uc5f4\uc758 \ud615\ud0dc (\ud074\ub798\uc2a4)\uc640 \uac01 \ubc30\uc5f4 \uc694\uc18c\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud55c\ub2e4.<\/li>\n  <li>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ubc30\uc5f4\uc740, \uadf8 \ubc30\uc5f4\uc758 \ud615\ud0dc\uc5d0\uc758 \ucc38\uc870\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>\ub610, \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) (\uac1d\uccb4 \uc774\uc678) \uce58\ub97c \uc870\uc0ac\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ubc30\uc5f4 \ub610\ub294 String \uc758 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58\uc758 \ubcf4\uace0\ub294, \uac1d\uccb4\uc758 \ube44\uc9d3\ud2b8\uc758 \uc644\ub8cc \ud6c4\uc5d0 \ud589\ud574\uc9d1\ub2c8\ub2e4. \uadf8 \ubcf4\uace0\uc2dc\uc5d0\ub294, \uc5d0\uc774\uc804\ud2b8\uac00 \uc81c\uacf5\ud558\ub294 \ucf5c\ubc31 \ud568\uc218 <a href=\"#jvmtiArrayPrimitiveValueCallback\"><code>jvmtiArrayPrimitiveValueCallback<\/code><\/a> \ub610\ub294 <a href=\"#jvmtiStringPrimitiveValueCallback\"><code>jvmtiStringPrimitiveValueCallback<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \uc5b4\ub290 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc\uc758 \ubcf4\uace0\ub294, \uadf8 \ud544\ub4dc\ub97c \ud3ec\ud568\ud55c \uac1d\uccb4\uc758 \ube44\uc9d3\ud2b8\uc758 \uc644\ub8cc \ud6c4\uc5d0 \ud589\ud574\uc9d1\ub2c8\ub2e4. \uadf8 \ubcf4\uace0\uc2dc\uc5d0\ub294, \uc5d0\uc774\uc804\ud2b8\uac00 \uc81c\uacf5\ud558\ub294 \ucf5c\ubc31 \ud568\uc218 <a href=\"#jvmtiPrimitiveFieldCallback\"><code>jvmtiPrimitiveFieldCallback<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ucf5c\ubc31\uc774 \uc81c\uacf5\ub420\uae4c <code>NULL<\/code> \uc77c\uae4c\ub294, \uadf8 \ucf5c\ubc31\uc774 \ubd88\ub824 \uac08\uc9c0 \uc5b4\ub5a8\uc9c0\ub9cc\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc5b4\ub290 \uac1d\uccb4\uac00 \ube44\uc9d3\ud2b8 \ub420\uae4c\ub098, \ub2e4\ub978 \ucf5c\ubc31\uc774 \ubd88\ub824 \uac08\uc9c0 \uc5b4\ub5a8\uc9c0\uc5d0 \uc601\ud5a5\uc744 \uc904 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc,<a href=\"#jvmtiHeapReferenceCallback\"><code>jvmtiHeapReferenceCallback<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294<a href=\"#jvmtiHeapVisitControl\">\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\ub294, \ud604\uc7ac\uc758 \uac1d\uccb4\uac00 \ucc38\uc870\ud558\uace0 \uc788\ub294 \uac1d\uccb4\ub97c \ube44\uc9d3\ud2b8 \ud560\uc9c0 \uc5b4\ub5a8\uc9c0\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. \uc774 \ud568\uc218\uc758 \ud30c\ub77c\ubbf8\ud130\ub85c\uc11c \uc9c0\uc815\ub418\ub294<a href=\"#jvmtiHeapFilter\">heap \ud544\ud130 \ud50c\ub798\uadf8<\/a>\uc640 <a href=\"#FollowReferences.klass\"><code>klass<\/code><\/a> \ub294, \ube44\uc9d3\ud2b8 \ub418\ub294 \uac1d\uccb4\ub294 \uc81c\uc5b4\ud569\ub2c8\ub2e4\ub9cc, \ucf5c\ubc31\uc5d0 \uc758\ud574 \ubcf4\uace0\ub418\ub294 \uac1d\uccb4 \ubc0f \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58\ub294 \uc81c\uc5b4\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc124\uc815\ub41c \uc720\uc77c\ud55c \ucf5c\ubc31\uc774<a href=\"#FollowReferences.array_primitive_value_callback\"><code>\ubc30\uc5f4 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/code><\/a> \uc774\uba70,<code>klass<\/code> \uac00 \ubc14\uc774\ud2b8 \ubc30\uc5f4\uc758 \ud074\ub798\uc2a4\ub85c \uc124\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0, \ubc14\uc774\ud2b8 \ubc30\uc5f4\ub9cc\uc774 \ubcf4\uace0\ub429\ub2c8\ub2e4. \uc774\uc0c1\uc744 \uc815\ub9ac\ud588\ub358 \uac83\uc774 \ub2e4\uc74c\uc758 \uac89(\ud45c)\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr>\n          <th align=\"center\" bgcolor=\"#EEEEFF\">&nbsp;<\/th>\n          <th align=\"center\" bgcolor=\"#EEEEFF\">\ube44\uc9d3\ud2b8 \ub300\uc0c1 \uac1d\uccb4\ub97c \uc81c\uc5b4\ud55c\ub2e4<\/th>\n         <th align=\"center\" bgcolor=\"#EEEEFF\">\ubcf4\uace0 \ub300\uc0c1 \uac1d\uccb4\ub97c \uc81c\uc5b4\ud55c\ub2e4<\/th>\n           <th align=\"center\" bgcolor=\"#EEEEFF\">\ubcf4\uace0 \ub300\uc0c1 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uc744 \uc81c\uc5b4\ud55c\ub2e4<\/th>\n      <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#jvmtiHeapReferenceCallback\"><code>jvmtiHeapReferenceCallback<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 <a href=\"#jvmtiHeapVisitControl\">\ud788\ud504\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a><\/th>\n         <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\"><b>\ub124<\/b>. \ube44\uc9d3\ud2b8\uac00 \uc81c\uc5b4\ub418\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0<\/td>\n           <td align=\"center\"><b>\ub124<\/b>. \ube44\uc9d3\ud2b8\uac00 \uc81c\uc5b4\ub418\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0<\/td>\n       <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#FollowReferences.callbacks\"><code>callbacks<\/code><\/a> \uc138\ud2b8\ub0b4\uc758 <a href=\"#jvmtiHeapCallbacks.object_reference_callback\"><code>object_reference_callback<\/code><\/a><\/th>\n          <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n          <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n      <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#FollowReferences.heap_filter\"><code>heap_filter<\/code><\/a><\/th>\n            <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n          <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\"><b>\ub124<\/b><\/td>\n       <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#FollowReferences.klass\"><code>klass<\/code><\/a><\/th>\n            <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n          <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\"><b>\ub124<\/b><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc911, heap\uc758 \uc0c1\ud0dc\ub294 \ubcc0\ud654\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ud560\ub2f9\uc774\ub098 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uac1d\uccb4 (\ud3ec\ud568\ub418\uace0 \uc788\ub294 \uac12\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 thread, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread, JNI \ud568\uc218\ub97c \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\ub294, \uc815\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>115<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"FollowReferences.heap_filter\">heap_filter<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774<a href=\"#jvmtiHeapFilter\">heap \ud544\ud130 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub294, \ucf5c\ubc31 \ud568\uc218\uc758 \ud638\ucd9c \ub300\uc0c1\uc774 \ub418\ub294 \uac1d\uccb4\ub97c \uc81c\ud55c\ud55c\ub2e4. \uc774\uac83\uc740 \uac1d\uccb4 \ucf5c\ubc31\uacfc \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ucf5c\ubc31\uc758 \uc591\ucabd \ubaa8\ub450\uc5d0 \ub4e4\uc5b4\ub9de\ub294\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"FollowReferences.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\ucf5c\ubc31\uc774 \ubcf4\uace0\ud558\ub294 \uac83\uc740, \uac1d\uccb4\uac00 \uc774 \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc778 \uacbd\uc6b0 \ubfd0\uc774\ub2e4. \uac1d\uccb4\uac00 <code>klass<\/code> \uc758 \uc288\ud37c \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc778 \uacbd\uc6b0, \uadf8 \uac1d\uccb4\ub294 \ubcf4\uace0\ub418\uc9c0 \uc54a\ub294\ub2e4. <code>klass<\/code> \uac00 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uacbd\uc6b0, \uac1d\uccb4\uc758 \ubcf4\uace0\ub294 \ud589\ud574\uc9c0\uc9c0 \uc54a\ub294\ub2e4. \uc774\uac83\uc740 \uac1d\uccb4 \ucf5c\ubc31\uacfc \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ucf5c\ubc31\uc758 \uc591\ucabd \ubaa8\ub450\uc5d0 \ub4e4\uc5b4\ub9de\ub294\ub2e4.\n           <p>&nbsp;<\/p>\n         <code>klass<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740 \ud2b9\uc815\uc758 \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc5d0 \uc81c\ud55c\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"FollowReferences.initial_object\">initial_object<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ucd94\uc801\ud558\ub294 \uac1d\uccb4\n         <p>&nbsp;<\/p>\n         <code>initial_object<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, heap \ub8e8\ud2b8\ub85c\ubd80\ud130 \ucc38\uc870\uc758 \ucd94\uc801\uc744 \ud55c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FollowReferences.callbacks\">callbacks<\/code><\/td>\n         <td><code>const <a href=\"#jvmtiHeapCallbacks\">jvmtiHeapCallbacks<\/a> *<\/code><\/td>\n          <td>\uc77c\ub828\uc758 \ucf5c\ubc31 \ud568\uc218\ub97c \uc815\uc758\ud558\ub294 \uad6c\uc870\uccb4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiHeapCallbacks<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"FollowReferences.user_data\">user_data<\/code><\/td>\n         <td><code>const void *<\/code><\/td>\n            <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ucf5c\ubc31\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ub370\uc774\ud130.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>user_data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub370\uc774\ud130\ub85c\uc11c \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#FollowReferences.klass\"><code>klass<\/code><\/a> \ub294 \uc720\ud6a8\ud55c \ud074\ub798\uc2a4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#FollowReferences.initial_object\"><code>initial_object<\/code><\/a> \ub294 \uc720\ud6a8\ud55c \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#FollowReferences.callbacks\"><code>callbacks<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IterateThroughHeap\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>heap\ub0b4\uc5d0\uc11c\uc758 \ubc18\ubcf5\ud574<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIterateThroughHeap(jvmtiEnv* env,\n            jint heap_filter,\n            jclass klass,\n            const jvmtiHeapCallbacks* callbacks,\n            const void* user_data)<\/pre>\n<\/blockquote>\n\n<p>heap\ub0b4\uc758 \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud55c \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uae30\ub3d9\ud569\ub2c8\ub2e4. \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\ub3c4, \uadf8\ub807\uc9c0 \uc54a\uc740 \uac1d\uccb4\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ube44\uc9d3\ud2b8\ub294 \ud2b9\uc815\uc758 \ucc28\ub840\uc5d0\uc11c\ub294 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>heap \uac1d\uccb4\uc758 \ubcf4\uace0\ub294, \uc5d0\uc774\uc804\ud2b8\ub85c\ubd80\ud130 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218 <a href=\"#jvmtiHeapIterationCallback\"><code>jvmtiHeapIterationCallback<\/code><\/a> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \ud589\ud574\uc9d1\ub2c8\ub2e4. \uac1d\uccb4\uac04\uc758 \ucc38\uc870\ub294 \ubcf4\uace0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\ub9cc\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\ub098, \uac1d\uccb4 \ucc38\uc870\uc758 \uc815\ubcf4\uac00 \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0\ub294,<a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub610, \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) (\uac1d\uccb4 \uc774\uc678) \uce58\ub97c \uc870\uc0ac\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ubc30\uc5f4 \ub610\ub294 String \uc758 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58\uc758 \ubcf4\uace0\ub294, \uac1d\uccb4\uc758 \ube44\uc9d3\ud2b8\uc758 \uc644\ub8cc \ud6c4\uc5d0 \ud589\ud574\uc9d1\ub2c8\ub2e4. \uadf8 \ubcf4\uace0\uc2dc\uc5d0\ub294, \uc5d0\uc774\uc804\ud2b8\uac00 \uc81c\uacf5\ud558\ub294 \ucf5c\ubc31 \ud568\uc218 <a href=\"#jvmtiArrayPrimitiveValueCallback\"><code>jvmtiArrayPrimitiveValueCallback<\/code><\/a> \ub610\ub294 <a href=\"#jvmtiStringPrimitiveValueCallback\"><code>jvmtiStringPrimitiveValueCallback<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \uc5b4\ub290 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc\uc758 \ubcf4\uace0\ub294, \uadf8 \ud544\ub4dc\ub97c \ud3ec\ud568\ud55c \uac1d\uccb4\uc758 \ube44\uc9d3\ud2b8\uc758 \uc644\ub8cc \ud6c4\uc5d0 \ud589\ud574\uc9d1\ub2c8\ub2e4. \uadf8 \ubcf4\uace0\uc2dc\uc5d0\ub294, \uc5d0\uc774\uc804\ud2b8\uac00 \uc81c\uacf5\ud558\ub294 \ucf5c\ubc31 \ud568\uc218 <a href=\"#jvmtiPrimitiveFieldCallback\"><code>jvmtiPrimitiveFieldCallback<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294<a href=\"#jvmtiHeapVisitControl\">\ud788\ud504\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a>\uc5d0 \uc758\ud574 \ubc18\ubcf5 \ucc98\ub9ac\uac00 \uc911\uc9c0\ub418\uc9c0 \uc54a\ub294 \ud55c, heap\ub0b4\uc758 \ubaa8\ub4e0 \uac1d\uccb4\uac00 \ube44\uc9d3\ud2b8 \ub429\ub2c8\ub2e4. \ucf5c\ubc31\uc774 \uc81c\uacf5\ub420\uae4c <code>NULL<\/code> \uc77c\uae4c\ub294, \uadf8 \ucf5c\ubc31\uc774 \ubd88\ub824 \uac08\uc9c0 \uc5b4\ub5a8\uc9c0\ub9cc\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc5b4\ub290 \uac1d\uccb4\uac00 \ube44\uc9d3\ud2b8 \ub420\uae4c\ub098, \ub2e4\ub978 \ucf5c\ubc31\uc774 \ubd88\ub824 \uac08\uc9c0 \uc5b4\ub5a8\uc9c0\uc5d0 \uc601\ud5a5\uc744 \uc904 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\uc758 \ud30c\ub77c\ubbf8\ud130\ub85c\uc11c \uc9c0\uc815\ub418\ub294<a href=\"#jvmtiHeapFilter\">heap \ud544\ud130 \ud50c\ub798\uadf8<\/a>\uc640 <a href=\"#IterateThroughHeap.klass\"><code>klass<\/code><\/a> \ub294, \ube44\uc9d3\ud2b8 \ub418\ub294 \uac1d\uccb4\ub294 \uc81c\uc5b4\ud569\ub2c8\ub2e4\ub9cc, \ucf5c\ubc31\uc5d0 \uc758\ud574 \ubcf4\uace0\ub418\ub294 \uac1d\uccb4 \ubc0f \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58\ub294 \uc81c\uc5b4\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc124\uc815\ub41c \uc720\uc77c\ud55c \ucf5c\ubc31\uc774<a href=\"#IterateThroughHeap.array_primitive_value_callback\"><code>\ubc30\uc5f4 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/code><\/a> \uc774\uba70,<code>klass<\/code> \uac00 \ubc14\uc774\ud2b8 \ubc30\uc5f4\uc758 \ud074\ub798\uc2a4\ub85c \uc124\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0, \ubc14\uc774\ud2b8 \ubc30\uc5f4\ub9cc\uc774 \ubcf4\uace0\ub429\ub2c8\ub2e4. \uc774\uc0c1\uc744 \uc815\ub9ac\ud588\ub358 \uac83\uc774 \ub2e4\uc74c\uc758 \uac89(\ud45c)\uc785\ub2c8\ub2e4. \uc774\uac83\uc744 <a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \uc640 \ube44\uad50\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr>\n          <th align=\"center\" bgcolor=\"#EEEEFF\">&nbsp;<\/th>\n          <th align=\"center\" bgcolor=\"#EEEEFF\">\ube44\uc9d3\ud2b8 \ub300\uc0c1 \uac1d\uccb4\ub97c \uc81c\uc5b4\ud55c\ub2e4<\/th>\n         <th align=\"center\" bgcolor=\"#EEEEFF\">\ubcf4\uace0 \ub300\uc0c1 \uac1d\uccb4\ub97c \uc81c\uc5b4\ud55c\ub2e4<\/th>\n           <th align=\"center\" bgcolor=\"#EEEEFF\">\ubcf4\uace0 \ub300\uc0c1 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uc744 \uc81c\uc5b4\ud55c\ub2e4<\/th>\n      <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#jvmtiHeapIterationCallback\"><code>jvmtiHeapIterationCallback<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 <a href=\"#jvmtiHeapVisitControl\">\ud788\ud504\ube44\uc9d3\ud2b8 \uc81c\uc5b4 \ud50c\ub798\uadf8<\/a><\/th>\n         <td align=\"center\">\uc544\ub2c8\uc624<br \/>\n         (\ub2e4\ub9cc, \ubc18\ubcf5 \ucc98\ub9ac\uac00 \uc911\uc9c0\ub418\ub294 \uacbd\uc6b0\ub294 \uc81c\uc678\ud558\ub2e4)<\/td>\n         <td align=\"center\">\uc544\ub2c8\uc624<br \/>\n         (\ub2e4\ub9cc, \ubc18\ubcf5 \ucc98\ub9ac\uac00 \uc911\uc9c0\ub418\ub294 \uacbd\uc6b0\ub294 \uc81c\uc678\ud558\ub2e4)<\/td>\n         <td align=\"center\">\uc544\ub2c8\uc624<br \/>\n         (\ub2e4\ub9cc, \ubc18\ubcf5 \ucc98\ub9ac\uac00 \uc911\uc9c0\ub418\ub294 \uacbd\uc6b0\ub294 \uc81c\uc678\ud558\ub2e4)<\/td>\n     <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#IterateThroughHeap.callbacks\"><code>callbacks<\/code><\/a> \uc138\ud2b8\ub0b4\uc758 <a href=\"#jvmtiHeapCallbacks.object_callback\"><code>object_callback<\/code><\/a><\/th>\n            <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n          <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n      <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#IterateThroughHeap.heap_filter\"><code>heap_filter<\/code><\/a><\/th>\n          <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n          <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\"><b>\ub124<\/b><\/td>\n       <\/tr>\n     <tr>\n          <th align=\"left\" bgcolor=\"#EEEEFF\"><a href=\"#IterateThroughHeap.klass\"><code>klass<\/code><\/a><\/th>\n          <td align=\"center\">\uc544\ub2c8\uc624<\/td>\n          <td align=\"center\"><b>\ub124<\/b><\/td>\n           <td align=\"center\"><b>\ub124<\/b><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc911, heap\uc758 \uc0c1\ud0dc\ub294 \ubcc0\ud654\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ud560\ub2f9\uc774\ub098 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uac1d\uccb4 (\ud3ec\ud568\ub418\uace0 \uc788\ub294 \uac12\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 thread, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread, JNI \ud568\uc218\ub97c \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\ub294, \uc815\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>116<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateThroughHeap.heap_filter\">heap_filter<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774<a href=\"#jvmtiHeapFilter\">heap \ud544\ud130 \ud50c\ub798\uadf8<\/a>\uc758 \ube44\ud2b8 \ubca1\ud130\ub294, \ucf5c\ubc31 \ud568\uc218\uc758 \ud638\ucd9c \ub300\uc0c1\uc774 \ub418\ub294 \uac1d\uccb4\ub97c \uc81c\ud55c\ud55c\ub2e4. \uc774\uac83\uc740 \uac1d\uccb4 \ucf5c\ubc31\uacfc \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ucf5c\ubc31\uc758 \uc591\ucabd \ubaa8\ub450\uc5d0 \ub4e4\uc5b4\ub9de\ub294\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateThroughHeap.klass\">klass<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\ucf5c\ubc31\uc774 \ubcf4\uace0\ud558\ub294 \uac83\uc740, \uac1d\uccb4\uac00 \uc774 \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc778 \uacbd\uc6b0 \ubfd0\uc774\ub2e4. \uac1d\uccb4\uac00 <code>klass<\/code> \uc758 \uc288\ud37c \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc778 \uacbd\uc6b0, \uadf8 \uac1d\uccb4\ub294 \ubcf4\uace0\ub418\uc9c0 \uc54a\ub294\ub2e4. <code>klass<\/code> \uac00 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uacbd\uc6b0, \uac1d\uccb4\uc758 \ubcf4\uace0\ub294 \ud589\ud574\uc9c0\uc9c0 \uc54a\ub294\ub2e4. \uc774\uac83\uc740 \uac1d\uccb4 \ucf5c\ubc31\uacfc \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ucf5c\ubc31\uc758 \uc591\ucabd \ubaa8\ub450\uc5d0 \ub4e4\uc5b4\ub9de\ub294\ub2e4.\n           <p>&nbsp;<\/p>\n         <code>klass<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740 \ud2b9\uc815\uc758 \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc5d0 \uc81c\ud55c\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"IterateThroughHeap.callbacks\">callbacks<\/code><\/td>\n           <td><code>const <a href=\"#jvmtiHeapCallbacks\">jvmtiHeapCallbacks<\/a> *<\/code><\/td>\n          <td>\uc77c\ub828\uc758 \ucf5c\ubc31 \ud568\uc218\ub97c \uc815\uc758\ud558\ub294 \uad6c\uc870\uccb4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiHeapCallbacks<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateThroughHeap.user_data\">user_data<\/code><\/td>\n           <td><code>const void *<\/code><\/td>\n            <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ucf5c\ubc31\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ub370\uc774\ud130.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>user_data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub370\uc774\ud130\ub85c\uc11c \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#IterateThroughHeap.klass\"><code>klass<\/code><\/a> \ub294 \uc720\ud6a8\ud55c \ud074\ub798\uc2a4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IterateThroughHeap.callbacks\"><code>callbacks<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetTag\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud0dc\uadf8\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetTag(jvmtiEnv* env,\n            jobject object,\n            jlong* tag_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uac1d\uccb4\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc5c8\ub358 \ud0dc\uadf8\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \ud0dc\uadf8\ub294 \uc7a5 \uc815\uc218\uce58\ub85c, \uc77c\ubc18\uc801\uc73c\ub85c, \uac1d\uccb4 \uc815\ubcf4\uc758 \uc77c\uc758\uc758 \uc2dd\ubcc4\uc790 \ub610\ub294 \ud3ec\uc778\ud130\ub97c \ud3ec\ud568\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud0dc\uadf8\uc758 \uc124\uc815\uc5d0\ub294,<a href=\"#SetTag\"><code>SetTag<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ud0dc\uadf8\uac00 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\ub294, \ud0dc\uadf8\uce58\ub85c\uc11c \uc81c\ub85c\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>106<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetTag.object\">object<\/code><\/td>\n         <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud0dc\uadf8\uac00 \ucde8\ub4dd\ub418\ub294 \uac1d\uccb4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetTag.tag_ptr\">tag_ptr<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ucc38\uc870\ub418\ub294 \uc7a5 \uc815\uc218\uce58\uc5d0 \ud0dc\uadf8\uce58\uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#GetTag.object\"><code>object<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetTag.tag_ptr\"><code>tag_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetTag\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud0dc\uadf8\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetTag(jvmtiEnv* env,\n            jobject object,\n            jlong tag)<\/pre>\n<\/blockquote>\n\n<p>\uac1d\uccb4\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc5c8\ub358 \ud0dc\uadf8\ub97c \uc124\uc815\ud569\ub2c8\ub2e4. \ud0dc\uadf8\ub294 \uc7a5 \uc815\uc218\uce58\ub85c, \uc77c\ubc18\uc801\uc73c\ub85c, \uac1d\uccb4 \uc815\ubcf4\uc758 \uc77c\uc758\uc758 \uc2dd\ubcc4\uc790 \ub610\ub294 \ud3ec\uc778\ud130\ub97c \ud3ec\ud568\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud0dc\uadf8\uc758 \ud45c\uc2dc\uc5d0\ub294,<a href=\"#GetTag\"><code>GetTag<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>107<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetTag.object\">object<\/code><\/td>\n         <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud0dc\uadf8\uac00 \uc124\uc815\ub418\ub294 \uac1d\uccb4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetTag.tag\">tag<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ud0dc\uadf8\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#SetTag.object\"><code>object<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetObjectsWithTags\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud55c \uac1d\uccb4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetObjectsWithTags(jvmtiEnv* env,\n            jint tag_count,\n            const jlong* tags,\n            jint* count_ptr,\n            jobject** object_result_ptr,\n            jlong** tag_result_ptr)<\/pre>\n<\/blockquote>\n\n<p>heap\ub0b4\uc758 \uc9c0\uc815\ub41c \ud0dc\uadf8\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uac1d\uccb4\uc640 \ud0dc\uadf8\uc758 \ubcd1\ud589 \ubc30\uc5f4\uc758 \ud615\uc2dd\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>114<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetObjectsWithTags.tag_count\">tag_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc8fc\uc0ac \ud558\ub294 \ud0dc\uadf8\uc758 \uc218.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetObjectsWithTags.tags\">tags<\/code><\/td>\n         <td><code>const <a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n            <td>\uc774\ub7ec\ud55c \ud0dc\uadf8\ub97c \ubd99\uc77c \uc218 \uc788\uc5c8\ub358 \uac1d\uccb4\ub97c \uc8fc\uc0ac \ud55c\ub2e4. \uc774 \ubc30\uc5f4\ub0b4\uc5d0\uc11c\ub294, \uc81c\ub85c\ub294 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc758 <code>tag_count<\/code> \uc694\uc18c\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetObjectsWithTags.count_ptr\">count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td><a href=\"#GetObjectsWithTags.tags\"><code>tags<\/code><\/a> \ub0b4\uc758 \uc784\uc758\uc758 \ud0dc\uadf8\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4\uc758 \uc218\ub97c \ub3cc\ub824\uc900\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetObjectsWithTags.object_result_ptr\">object_result_ptr<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> **<\/code><\/td>\n         <td><a href=\"#GetObjectsWithTags.tags\"><code>tags<\/code><\/a> \ub0b4\uc758 \uc784\uc758\uc758 \ud0dc\uadf8\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4\uc758 \ubc30\uc5f4\uc744 \ub3cc\ub824\uc900\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jobject*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jobject*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>object_result_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774 \uc815\ubcf4\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4. <code>object_result_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetObjectsWithTags.tag_result_ptr\">tag_result_ptr<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> **<\/code><\/td>\n         <td><a href=\"#GetObjectsWithTags.object_result_ptr\"><code>object_result_ptr<\/code><\/a> \ub0b4\uc758 \uac01 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c, \ub300\uc751\ud558\ub294 \uc778\ub371\uc2a4\uc758 \ud0dc\uadf8\ub97c \ub3cc\ub824\uc900\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>tag_result_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774 \uc815\ubcf4\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectsWithTags.tags\"><code>tags<\/code><\/a> \ub0b4\uc5d0 \uc81c\ub85c\uac00 \uc874\uc7ac\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectsWithTags.tag_count\"><code>tag_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectsWithTags.tags\"><code>tags<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectsWithTags.count_ptr\"><code>count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ForceGarbageCollection\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac15\uc81c<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nForceGarbageCollection(jvmtiEnv* env)<\/pre>\n<\/blockquote>\n\n<p>VM \uc5d0 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc2e4\ud589\uc744 \uac15\uc81c\ud569\ub2c8\ub2e4. \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \uac00\ub2a5\ud55c \ud55c \uc644\uc804\ud558\uac8c \ud589\ud574\uc9d1\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \ud30c\uc774\ub098\ub77c\uc774\uc790\ub97c \uc2e4\ud589\uc2dc\ud0a4\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc774 \uc644\ub8cc\ud560 \ub54c\uae4c\uc9c0 \uc885\ub8cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \uac00\ub2a5\ud55c \ud55c \uc644\uc804\ud558\uac8c \uc2e4\ud589\ub429\ub2c8\ub2e4\ub9cc, \uc774 \ud568\uc218\uac00 \ub3cc\uc544\uc624\uae30\uae4c\uc9c0 \ubaa8\ub4e0 <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub418\uace0 \uc788\ub2e4\uace0 \ud558\ub294 \ubcf4\uc99d\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ud2b9\ud788, finalize \uae30\ub2e4\ub9ac\ub294 \uac1d\uccb4\uac00 \ud574\uc81c\ub418\uc9c0 \uc54a\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>108<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>\ub97c \ub3cc\ub824\uc900\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"Heap_1_0\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">heap (1.0)<\/h2>\n\n<p>heap (1.0)\uc758 \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#IterateOverObjectsReachableFromObject\">\uac1d\uccb4\ub85c\ubd80\ud130 \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/a><\/li>\n    <li><a href=\"#IterateOverReachableObjects\">\ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/a><\/li>\n <li><a href=\"#IterateOverHeap\">heap\uc758 \ubc18\ubcf5<\/a><\/li>\n <li><a href=\"#IterateOverInstancesOfClass\">\ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc758 \ubc18\ubcf5<\/a><\/li>\n<\/ul>\n\n<p>heap (1.0)\uc758 \ud568\uc218\ud615:<\/p>\n\n<ul>\n  <li><a href=\"#jvmtiHeapObjectCallback\">heap \uac1d\uccb4\uc758 \ucf5c\ubc31<\/a><\/li>\n    <li><a href=\"#jvmtiHeapRootCallback\">heap \ub8e8\ud2b8 \uac1d\uccb4\uc758 \ucf5c\ubc31<\/a><\/li>\n <li><a href=\"#jvmtiStackReferenceCallback\">\uc2a4\ud0dd \ucc38\uc870 \uac1d\uccb4\uc758 \ucf5c\ubc31<\/a><\/li>\n   <li><a href=\"#jvmtiObjectReferenceCallback\">\uac1d\uccb4 \ucc38\uc870\uc758 \ucf5c\ubc31<\/a><\/li>\n<\/ul>\n\n<p>heap (1.0)\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiHeapObjectFilter\"><code>jvmtiHeapObjectFilter<\/code><\/a> - heap \uac1d\uccb4\uc758 \ud544\ud130\uc758 \uc5f4\uac70<\/li>\n  <li><a href=\"#jvmtiHeapRootKind\"><code>jvmtiHeapRootKind<\/code><\/a> - heap \ub8e8\ud2b8\uc758 \uc885\ub958\uc758 \uc5f4\uac70<\/li>\n  <li><a href=\"#jvmtiObjectReferenceKind\"><code>jvmtiObjectReferenceKind<\/code><\/a> - \uac1d\uccb4 \ucc38\uc870\uc758 \uc5f4\uac70<\/li>\n   <li><a href=\"#jvmtiIterationControl\"><code>jvmtiIterationControl<\/code><\/a> - \ubc18\ubcf5 \uc81c\uc5b4\uc758 \uc5f4\uac70<\/li>\n<\/ul>\n\n<p><b>\uc774\ub7ec\ud55c \ud568\uc218 \ubc0f \ub370\uc774\ud130\ud615\uc740 \uc6d0\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI Version 1.0 \uc73c\ub85c \ub3c4\uc785\ub41c \uac83\uc774\uc5b4, \ubcf4\ub2e4<\/b> <a href=\"#Heap\"><b>\uac15\ub825\ud574 \uc720\uc5f0\uc131\uc758 \ub192\uc740 \ubc84\uc83c<\/b><\/a> \uc73c\ub85c \uc62e\uaca8\ub193\uc744 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \ubc84\uc83c\uc758 \ud2b9\uc9d5\uc744 \ub2e4\uc74c\uc5d0 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n  <li><b>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 (Strings, \ubc30\uc5f4, \ubc0f \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc\uc758 \uac12)\uc5d0\uc758 \uc561\uc138\uc2a4\ub97c \uac00\ub2a5\ud558\uac8c \ud55c\ub2e4<\/b><\/li>\n    <li><b>\ucc38\uc870\uce21\uc758 \ud0dc\uadf8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774) \ud55c\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \ubcf4\ub2e4 \ud6a8\uc728\uc801\uc778 \ub85c\uceec\ub77c\uc774\uc988 \ub41c \ucc38\uc870 \uadf8\ub798\ud504\uc758 \uad6c\ucd95\uc774 \uac00\ub2a5\ud574\uc9c4\ub2e4<\/b><\/li>\n   <li><b>\ubcf4\ub2e4 \uad11\ubc94\uc704\ud55c \ud544\ud130\ub9c1 \uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4<\/b><\/li>\n  <li><b>\ud655\uc7a5 \uac00\ub2a5\ud558\ub2e4. \uc774 \ub54c\ubb38\uc5d0, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uc7a5\ub798\uc758 \ubc84\uc83c\uc73c\ub85c \ud655\uc7a5\uc744 \ubca0\ud480 \uc218\uac00 \uc788\ub2e4<\/b><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#Heap\"><b>\ud604\uc7ac\uc758 heap \ud568\uc218<\/b><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote><a name=\"jvmtiHeapObjectFilter\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">heap \uac1d\uccb4\uc758 \ud544\ud130\uc758 \uc5f4\uac70 (<code>jvmtiHeapObjectFilter<\/code>)<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_OBJECT_TAGGED\">JVMTI_HEAP_OBJECT_TAGGED<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td>\ud0dc\uadf8 \ucca8\ubd80 \uac1d\uccb4\ub9cc.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_OBJECT_UNTAGGED\">JVMTI_HEAP_OBJECT_UNTAGGED<\/code><\/td>\n            <td align=\"right\">2<\/td>\n            <td>\ud0dc\uadf8 \uc5c6\uc74c \uac1d\uccb4\ub9cc.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_OBJECT_EITHER\">JVMTI_HEAP_OBJECT_EITHER<\/code><\/td>\n            <td align=\"right\">3<\/td>\n            <td>\ud0dc\uadf8 \ucca8\ubd80 \uac1d\uccb4 \ub610\ub294 \ud0dc\uadf8 \uc5c6\uc74c \uac1d\uccb4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiHeapRootKind\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">heap \ub8e8\ud2b8\uc758 \uc885\ub958\uc758 \uc5f4\uac70 (<code>jvmtiHeapRootKind<\/code>)<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_JNI_GLOBAL\">JVMTI_HEAP_ROOT_JNI_GLOBAL<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td>JNI \uae00\ub85c\ubc8c \ucc38\uc870.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_SYSTEM_CLASS\">JVMTI_HEAP_ROOT_SYSTEM_CLASS<\/code><\/td>\n            <td align=\"right\">2<\/td>\n            <td>\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_MONITOR\">JVMTI_HEAP_ROOT_MONITOR<\/code><\/td>\n          <td align=\"right\">3<\/td>\n            <td>\ubaa8\ub2c8\ud130.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_STACK_LOCAL\">JVMTI_HEAP_ROOT_STACK_LOCAL<\/code><\/td>\n          <td align=\"right\">4<\/td>\n            <td>\uc2a4\ud0dd \ub85c\uceec.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_JNI_LOCAL\">JVMTI_HEAP_ROOT_JNI_LOCAL<\/code><\/td>\n          <td align=\"right\">5<\/td>\n            <td>JNI \ub85c\uceec \ucc38\uc870.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_THREAD\">JVMTI_HEAP_ROOT_THREAD<\/code><\/td>\n            <td align=\"right\">6<\/td>\n            <td>thread<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_HEAP_ROOT_OTHER\">JVMTI_HEAP_ROOT_OTHER<\/code><\/td>\n          <td align=\"right\">7<\/td>\n            <td>\uadf8 \uc678.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiObjectReferenceKind\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\uac1d\uccb4 \ucc38\uc870\uc758 \uc5f4\uac70 (<code>jvmtiObjectReferenceKind<\/code>)<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_CLASS\">JVMTI_REFERENCE_CLASS<\/code><\/td>\n          <td align=\"right\">1<\/td>\n            <td>\uac1d\uccb4\ub85c\ubd80\ud130 \uadf8 \ud074\ub798\uc2a4\uc758 \ucc38\uc870.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_FIELD\">JVMTI_REFERENCE_FIELD<\/code><\/td>\n          <td align=\"right\">2<\/td>\n            <td>\uac1d\uccb4\ub85c\ubd80\ud130, \uadf8 \uac1d\uccb4\uc758 \uba87\uac1c\uc758 \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uc758 \uac12\uc5d0\uc758 \ucc38\uc870. \uc774\ub7f0 \uc885\ub958\uc758 \ucc38\uc870\uc758 \uacbd\uc6b0,<a href=\"#jvmtiObjectReferenceCallback\">jvmtiObjectReferenceCallback<\/a> \uc758 <code>referrer_index<\/code> \ud30c\ub77c\ubbf8\ud130\ub294 \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uc758 \uc778\ub371\uc2a4. \uc778\ub371\uc2a4\ub294, \ubaa8\ub4e0 \uac1d\uccb4\uc758 \ud544\ub4dc\uc758 \uc21c\uc11c\uac00 \uae30\ubcf8\uc73c\ub85c \ub41c\ub2e4. \ud074\ub798\uc2a4\uc5d0\uc11c \uc9c1\uc811 \uc120\uc5b8\ub41c static \ubc0f \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uac00 \ud3ec\ud568\ub418\ub294 \uac83 \uc678\uc5d0 \uc288\ud37c \ud074\ub798\uc2a4 \ubc0f \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub85c \uc120\uc5b8\ub41c \ubaa8\ub4e0 \ud544\ub4dc (public \uc640 private \uc758 \uc591\ucabd \ubaa8\ub450)\uac00 \ud3ec\ud568\ub41c\ub2e4. \uadf8 \ub54c\ubb38\uc5d0 \uc778\ub371\uc2a4\ub294, \uc9c1\uc811 \uc120\uc5b8\ub41c \ud074\ub798\uc2a4\uc5d0 \uc788\ub294 \ud544\ub4dc\uc758 \uc778\ub371\uc2a4 (<a href=\"#GetClassFields\"><code>\u300cGetClassFields\u300d<\/code><\/a> \ucc38\uc870)\uc640 \ubaa8\ub4e0 \uc288\ud37c \ud074\ub798\uc2a4 \ubc0f \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub85c \uc120\uc5b8\ub41c \ud544\ub4dc (public \uc640 private \uc758 \uc591\ucabd \ubaa8\ub450)\ub97c \uc11c\ub85c \ub354\ud55c \uac83\uc73c\ub85c \uacc4\uc0b0\ub41c\ub2e4. \uc778\ub371\uc2a4\ub294 0 \uc73c\ub85c\ubd80\ud130 \uc2dc\uc791\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_ARRAY_ELEMENT\">JVMTI_REFERENCE_ARRAY_ELEMENT<\/code><\/td>\n          <td align=\"right\">3<\/td>\n            <td>\ubc30\uc5f4\ub85c\ubd80\ud130, \uc774 \ubc30\uc5f4\uc758 \uba87\uac1c\uc758 \uc694\uc18c\uc5d0\uc758 \ucc38\uc870. \uc774\ub7f0 \uc885\ub958\uc758 \ucc38\uc870\uc758 \uacbd\uc6b0,<a href=\"#jvmtiObjectReferenceCallback\">jvmtiObjectReferenceCallback<\/a> \uc758 <code>referrer_index<\/code> \ud30c\ub77c\ubbf8\ud130\ub294 \ubc30\uc5f4\uc758 \uc778\ub371\uc2a4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_CLASS_LOADER\">JVMTI_REFERENCE_CLASS_LOADER<\/code><\/td>\n            <td align=\"right\">4<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \ud074\ub798\uc2a4 \ub85c\ub354\uc5d0\uc758 \ucc38\uc870.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_SIGNERS\">JVMTI_REFERENCE_SIGNERS<\/code><\/td>\n          <td align=\"right\">5<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \uc11c\uba85\uc790\uc758 \ubc30\uc5f4\uc5d0\uc758 \ucc38\uc870.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_PROTECTION_DOMAIN\">JVMTI_REFERENCE_PROTECTION_DOMAIN<\/code><\/td>\n          <td align=\"right\">6<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uadf8 \ubcf4\ud638 \ub3c4\uba54\uc778\uc5d0\uc758 \ucc38\uc870.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_INTERFACE\">JVMTI_REFERENCE_INTERFACE<\/code><\/td>\n          <td align=\"right\">7<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130, \uadf8 \ud074\ub798\uc2a4\uc758 \uba87\uac1c\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc758 \ucc38\uc870.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_STATIC_FIELD\">JVMTI_REFERENCE_STATIC_FIELD<\/code><\/td>\n            <td align=\"right\">8<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130, \uadf8 \ud074\ub798\uc2a4\uc758 \uba87\uac1c\uc758 static \ud544\ub4dc\uc758 \uac12\uc5d0\uc758 \ucc38\uc870. \uc774\ub7f0 \uc885\ub958\uc758 \ucc38\uc870\uc758 \uacbd\uc6b0,<a href=\"#jvmtiObjectReferenceCallback\">jvmtiObjectReferenceCallback<\/a> \uc758 <code>referrer_index<\/code> \ud30c\ub77c\ubbf8\ud130\ub294 static \ud544\ub4dc\uc758 \uc778\ub371\uc2a4. \uc778\ub371\uc2a4\ub294, \ubaa8\ub4e0 \uac1d\uccb4\uc758 \ud544\ub4dc\uc758 \uc21c\uc11c\uac00 \uae30\ubcf8\uc73c\ub85c \ub41c\ub2e4. \ud074\ub798\uc2a4\uc5d0\uc11c \uc9c1\uc811 \uc120\uc5b8\ub41c static \ubc0f \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uac00 \ud3ec\ud568\ub418\ub294 \uac83 \uc678\uc5d0 \uc288\ud37c \ud074\ub798\uc2a4 \ubc0f \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub85c \uc120\uc5b8\ub41c \ubaa8\ub4e0 \ud544\ub4dc (public \uc640 private \uc758 \uc591\ucabd \ubaa8\ub450)\uac00 \ud3ec\ud568\ub41c\ub2e4. \uadf8 \ub54c\ubb38\uc5d0 \uc778\ub371\uc2a4\ub294, \uc9c1\uc811 \uc120\uc5b8\ub41c \ud074\ub798\uc2a4\uc5d0 \uc788\ub294 \ud544\ub4dc\uc758 \uc778\ub371\uc2a4 (<a href=\"#GetClassFields\"><code>\u300cGetClassFields\u300d<\/code><\/a> \ucc38\uc870)\uc640 \ubaa8\ub4e0 \uc288\ud37c \ud074\ub798\uc2a4 \ubc0f \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub85c \uc120\uc5b8\ub41c \ud544\ub4dc (public \uc640 private \uc758 \uc591\ucabd \ubaa8\ub450)\ub97c \uc11c\ub85c \ub354\ud55c \uac83\uc73c\ub85c \uacc4\uc0b0\ub41c\ub2e4. \uc778\ub371\uc2a4\ub294 0 \uc73c\ub85c\ubd80\ud130 \uc2dc\uc791\ub41c\ub2e4. \uc8fc:\uc774 \uc815\uc758\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI 1.0 \uc2a4\ud399\uc5d0\uc11c\uc758 \uc815\uc758\uc640 \ub2e4\ub974\ub2e4.\n            <p style=\"color: purple\">\uc6d0\ub9ac\uc758 \uc124\uba85:\uae30\uc874\uc758 \uad6c\ud604 \uc18d\uc5d0\uc11c, 1.0 \uc758 \uc815\uc758\ub97c \uc0ac\uc6a9\ud55c \uac83\uc740 \uc5c6\ub2e4.<\/p>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_REFERENCE_CONSTANT_POOL\">JVMTI_REFERENCE_CONSTANT_POOL<\/code><\/td>\n          <td align=\"right\">9<\/td>\n            <td>\ud074\ub798\uc2a4\ub85c\ubd80\ud130 \uc815\uc218 \ud480\ub0b4\uc758 \ud574\uacb0 \uc9c0\uc74c \uc5d4\ud2b8\ub9ac\uc758 \ucc38\uc870. \uc774\ub7f0 \uc885\ub958\uc758 \ucc38\uc870\uc758 \uacbd\uc6b0,<a href=\"#jvmtiObjectReferenceCallback\">jvmtiObjectReferenceCallback<\/a> \uc758 <code>referrer_index<\/code> \ud30c\ub77c\ubbf8\ud130\ub294, \ud074\ub798\uc2a4\uc758 \uc815\uc218 \ud480 \ud14c\uc774\ube14\uc758 \uc778\ub371\uc2a4\ub85c, 1 \uc73c\ub85c\ubd80\ud130 \uc2dc\uc791\ub41c\ub2e4. <a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html#20080\">\u300cConstant Pool\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870. <i><\/i><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiIterationControl\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ubc18\ubcf5 \uc81c\uc5b4\uc758 \uc5f4\uac70 (<code>jvmtiIterationControl<\/code>)<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_ITERATION_CONTINUE\">JVMTI_ITERATION_CONTINUE<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td>\ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d. \ucc38\uc870\uc758 \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uacbd\uc6b0, \uc774 \uac1d\uccb4\uc758 \ucc38\uc870\uc5d0 \ub530\ub978\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_ITERATION_IGNORE\">JVMTI_ITERATION_IGNORE<\/code><\/td>\n            <td align=\"right\">2<\/td>\n            <td>\ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d. \ucc38\uc870\uc758 \ubc18\ubcf5 \ucc98\ub9ac\uc758 \uacbd\uc6b0, \uc774 \uac1d\uccb4\uc758 \ucc38\uc870\ub97c \ubb34\uc2dc\ud55c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_ITERATION_ABORT\">JVMTI_ITERATION_ABORT<\/code><\/td>\n          <td align=\"right\">0<\/td>\n            <td>\ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc911\uc9c0.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"jvmtiHeapObjectCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>heap \uac1d\uccb4\uc758 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n   <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jvmtiIterationControl (JNICALL *jvmtiHeapObjectCallback)\n    (jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     void* user_data);<\/pre>\n          <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. heap\ub0b4\uc758 \uac1d\uccb4\ub97c \uae30\uc220\ud569\ub2c8\ub2e4\ub9cc, \uac12\uc740 \uac74\ub124\uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n\n           <p>&nbsp;<\/p>\n         \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_CONTINUE<\/code> \uc785\ub2c8\ub2e4. \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc815\uc9c0\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_ABORT<\/code> \uc785\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapObjectCallback.class_tag\">class_tag<\/code><\/td>\n                      <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapObjectCallback.size\">size<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapObjectCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                      <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\uac1d\uccb4\uc758 \ud0dc\uadf8\uce58. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapObjectCallback.user_data\">user_data<\/code><\/td>\n                      <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiHeapRootCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>heap \ub8e8\ud2b8 \uac1d\uccb4\uc758 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n    <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jvmtiIterationControl (JNICALL *jvmtiHeapRootCallback)\n    (jvmtiHeapRootKind root_kind,\n     jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     void* user_data);<\/pre>\n         <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \ubaa9\uc801\uc73c\ub85c, \ub8e8\ud2b8 \uac1d\uccb4\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4\ub9cc, \uac12\uc740 \uac74\ub124\uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n         \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_CONTINUE<\/code> \uc785\ub2c8\ub2e4. \ucc38\uc870 \uac1d\uccb4\ub85c\ubd80\ud130\uc758 \ucc38\uc870\ub97c \uc18d\ud589\ud558\uc9c0 \uc54a\uace0 \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_IGNORE<\/code> \uc785\ub2c8\ub2e4. \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc815\uc9c0\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_ABORT<\/code> \uc785\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapRootCallback.root_kind\">root_kind<\/code><\/td>\n                        <td><code><a href=\"#jvmtiHeapRootKind\">jvmtiHeapRootKind<\/a> <\/code><\/td>\n                       <td>heap \ub8e8\ud2b8\uc758 \uc885\ub958<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapRootCallback.class_tag\">class_tag<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapRootCallback.size\">size<\/code><\/td>\n                      <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapRootCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\uac1d\uccb4\uc758 \ud0dc\uadf8\uce58. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiHeapRootCallback.user_data\">user_data<\/code><\/td>\n                        <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiStackReferenceCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2a4\ud0dd \ucc38\uc870 \uac1d\uccb4\uc758 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n  <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jvmtiIterationControl (JNICALL *jvmtiStackReferenceCallback)\n    (jvmtiHeapRootKind root_kind,\n     jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     jlong thread_tag,\n     jint depth,\n     jmethodID method,\n     jint slot,\n     void* user_data);<\/pre>\n            <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \ubaa9\uc801\uc73c\ub85c, \uc2a4\ud0dd\uc0c1\uc758 \ub8e8\ud2b8 \uac1d\uccb4\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4\ub9cc, \uac12\uc740 \uac74\ub124\uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n\n           <p>&nbsp;<\/p>\n         \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_CONTINUE<\/code> \uc785\ub2c8\ub2e4. \ucc38\uc870 \uac1d\uccb4\ub85c\ubd80\ud130\uc758 \ucc38\uc870\ub97c \uc18d\ud589\ud558\uc9c0 \uc54a\uace0 \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_IGNORE<\/code> \uc785\ub2c8\ub2e4. \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc815\uc9c0\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_ABORT<\/code> \uc785\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.root_kind\">root_kind<\/code><\/td>\n                      <td><code><a href=\"#jvmtiHeapRootKind\">jvmtiHeapRootKind<\/a> <\/code><\/td>\n                       <td>\ub8e8\ud2b8\uc758 \uc885\ub958 (<code>JVMTI_HEAP_ROOT_STACK_LOCAL<\/code> \ub610\ub294 <code>JVMTI_HEAP_ROOT_JNI_LOCAL<\/code>).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.class_tag\">class_tag<\/code><\/td>\n                      <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.size\">size<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                      <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\uac1d\uccb4\uc758 \ud0dc\uadf8\uce58. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.thread_tag\">thread_tag<\/code><\/td>\n                        <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\uc774 \uc2a4\ud0dd\uc5d0 \ub300\uc751\ud558\ub294 thread\uc758 \ud0dc\uadf8. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.depth\">depth<\/code><\/td>\n                      <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td>\ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.method\">method<\/code><\/td>\n                        <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n                       <td>\uc774 \ud504\ub808\uc784\ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\uace0 \uc788\ub294 \uba54\uc18c\ub4dc.<\/td>\n                    <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.slot\">slot<\/code><\/td>\n                        <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td>\uc2ac\ub86f \ubc88\ud638.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiStackReferenceCallback.user_data\">user_data<\/code><\/td>\n                      <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiObjectReferenceCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uac1d\uccb4 \ucc38\uc870\uc758 \ucf5c\ubc31<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n  <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jvmtiIterationControl (JNICALL *jvmtiObjectReferenceCallback)\n    (jvmtiObjectReferenceKind reference_kind,\n     jlong class_tag,\n     jlong size,\n     jlong* tag_ptr,\n     jlong referrer_tag,\n     jint referrer_index,\n     void* user_data);<\/pre>\n         <\/blockquote>\n         \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf5c\ubc31 \ud568\uc218. \uc5b4\ub290 \uac1d\uccb4 (\ucc38\uc870\uce21)\ub85c\ubd80\ud130 \ub2e4\ub978 \uac1d\uccb4 (\ucc38\uc870\ucc98)\uc758 \ucc38\uc870\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4.\n\n           <p>&nbsp;<\/p>\n         \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_CONTINUE<\/code> \uc785\ub2c8\ub2e4. \ucc38\uc870 \uac1d\uccb4\ub85c\ubd80\ud130\uc758 \ucc38\uc870\ub97c \uc18d\ud589\ud558\uc9c0 \uc54a\uace0 \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uacc4\uc18d\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_IGNORE<\/code> \uc785\ub2c8\ub2e4. \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc815\uc9c0\ud558\ub294 \uacbd\uc6b0, \ubc18\ud658\uac12\uc740 <code>JVMTI_ITERATION_ABORT<\/code> \uc785\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n         <a href=\"#heapCallbacks\">heap \ucf5c\ubc31 \ud568\uc218\uc758 \uc81c\ud55c<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.\n\n           <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.reference_kind\">reference_kind<\/code><\/td>\n                       <td><code><a href=\"#jvmtiObjectReferenceKind\">jvmtiObjectReferenceKind<\/a> <\/code><\/td>\n                     <td>\ucc38\uc870\ud615.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.class_tag\">class_tag<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ucc38\uc870\ub418\ub294 \uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 \ud0dc\uadf8 (\ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c). \ucc38\uc870\ub41c \uac1d\uccb4\uac00 \uc2e4\ud589\uc2dc \ud074\ub798\uc2a4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0,<code>class_tag<\/code> \ub294 <code>java.lang.Class<\/code> \uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud0dc\uadf8 (<code>java.lang.Class<\/code> \uac00 \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 \uc81c\ub85c).<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.size\">size<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ucc38\uc870\ub418\ub294 \uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.tag_ptr\">tag_ptr<\/code><\/td>\n                     <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n                      <td>\ucc38\uc870\ub418\ub294 \uac1d\uccb4\uc758 \ud0dc\uadf8\uce58. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c. \uac1d\uccb4\uc640 \uad00\ub828\uc9d3\ub294 \ud0dc\uadf8\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\ub294 \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud3ec\uc778\ud2b8 \ub418\ub294 <code>jlong<\/code> \ub97c \uc124\uc815\ud55c\ub2e4.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.referrer_tag\">referrer_tag<\/code><\/td>\n                       <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n                       <td>\ucc38\uc870\uce21\uc758 \uac1d\uccb4\uc758 \ud0dc\uadf8\uce58. \ud0dc\uadf8 \ubd99\uc774\uace0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uac1d\uccb4\uc758 \uacbd\uc6b0\ub294 \uc81c\ub85c.<\/td>\n                    <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.referrer_index\">referrer_index<\/code><\/td>\n                       <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n                     <td><code>JVMTI_REFERENCE_FIELD<\/code> \ud615 \ub610\ub294 <code>JVMTI_REFERENCE_STATIC_FIELD<\/code> \ud615\uc758 \ucc38\uc870\uc758 \uacbd\uc6b0, \ucc38\uc870\uce21 \uac1d\uccb4\uc758 \ud544\ub4dc\uc758 \uc778\ub371\uc2a4. \uc778\ub371\uc2a4\ub294 \uac1d\uccb4\uc758 \ubaa8\ub4e0 \ud544\ub4dc\uc758 \uc21c\uc11c\uac00 \uae30\ubcf8\uc73c\ub85c \ub41c\ub2e4. \uc0c1\uc138\ud55c \uc124\uba85\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#JVMTI_REFERENCE_FIELD\">JVMTI_REFERENCE_FIELD<\/a> \ub610\ub294 <a href=\"#JVMTI_REFERENCE_STATIC_FIELD\">JVMTI_REFERENCE_STATIC_FIELD<\/a> \ub97c \ucc38\uc870.\n                        <p>&nbsp;<\/p>\n                     \ud615\ud0dc <code>JVMTI_REFERENCE_ARRAY_ELEMENT<\/code> \uc758 \ucc38\uc870\uc758 \uacbd\uc6b0\ub294, \ubc30\uc5f4 \uc778\ub371\uc2a4. \uc0c1\uc138\ud55c \uc124\uba85\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#JVMTI_REFERENCE_ARRAY_ELEMENT\">JVMTI_REFERENCE_ARRAY_ELEMENT<\/a> \ub97c \ucc38\uc870.\n\n                     <p>&nbsp;<\/p>\n                     \ud615\ud0dc <code>JVMTI_REFERENCE_CONSTANT_POOL<\/code> \uc758 \ucc38\uc870\uc758 \uacbd\uc6b0\ub294, \ud074\ub798\uc2a4\uc758 \uc815\uc218 \ud480\uc5d0 \ub300\ud55c \uc778\ub371\uc2a4. \uc0c1\uc138\ud55c \uc124\uba85\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#JVMTI_REFERENCE_CONSTANT_POOL\">JVMTI_REFERENCE_CONSTANT_POOL<\/a> \ub97c \ucc38\uc870.\n\n                      <p>&nbsp;<\/p>\n                     \uadf8 \uc678\uc758 \ucc38\uc870\uc758 \uacbd\uc6b0,<code>referrer_index<\/code> \ub294 <code>-1<\/code>.<\/td>\n                  <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiObjectReferenceCallback.user_data\">user_data<\/code><\/td>\n                     <td><code>void *<\/code><\/td>\n                      <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ubc18\ubcf5 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c4 \ub370\uc774\ud130.<\/td>\n                    <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IterateOverObjectsReachableFromObject\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uac1d\uccb4\ub85c\ubd80\ud130 \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIterateOverObjectsReachableFromObject(jvmtiEnv* env,\n            jobject object,\n            jvmtiObjectReferenceCallback object_reference_callback,\n            const void* user_data)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub294, \uc9c0\uc815\ub41c \uac1d\uccb4\ub85c\ubd80\ud130 \uc9c1\uc811 \ub610\ub294 \uac04\uc811\uc801\uc73c\ub85c \ub3c4\ub2ec \uac00\ub2a5\ud55c \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud569\ub2c8\ub2e4. \uac1d\uccb4 B \ub97c \ucc38\uc870\ud558\ub294 \uac01 \uac1d\uccb4 A (\ucc38\uc870\uce21 \uac1d\uccb4)\uc5d0 \ub300\ud574\uc11c, \uc9c0\uc815\ub41c \ucf5c\ubc31 \ud568\uc218\uac00 \ubd88\ub824 \uac00 \uac1d\uccb4 \ucc38\uc870\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. \ucf5c\ubc31\uc740, \ucc38\uc870 \uce21\uc5d0\uc11c\uc758 \ucc38\uc870\ub9c8\ub2e4 1 \ud68c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ucc38\uc870 \uc0ac\uc774\ud074\uc774\ub098, \ucc38\uc870\uce21\uc778 \ud328\uc2a4\uac00 \ubcf5\uc218 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0\ub3c4 \uac19\uc2b5\ub2c8\ub2e4. \ucc38\uc870\uce21\uacfc \ucc38\uc870\ub418\ub294 \uce21\uc758 \uc0ac\uc774\uc5d0, \ubcf5\uc218\uc758 \ucc38\uc870\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc2dd\ubcc4\uc5d0\ub294,<a href=\"#jvmtiObjectReferenceCallback.reference_kind\"><code>jvmtiObjectReference.reference_ (\uc885\ub958)<\/code><\/a> \uc640 <a href=\"#jvmtiObjectReferenceCallback.referrer_index\"><code>jvmtiObjectReference.referrer_ (\uc778\ub371\uc2a4)<\/code><\/a> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ucf5c\ubc31\uc740, \ud56d\uc0c1 \ucc38\uc870\uce21\uc758 \ucf5c\ubc31\uc758 \ub098\uc911\uc5d0 \ud589\ud574\uc9c0\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubcf4\uace0\ub418\ub294 \uac1d\uccb4 \ucc38\uc870\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc911, heap\uc758 \uc0c1\ud0dc\ub294 \ubcc0\ud654\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ud560\ub2f9\uc774\ub098 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uac1d\uccb4 (\ud3ec\ud568\ub418\uace0 \uc788\ub294 \uac12\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 thread, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread, JNI \ud568\uc218\ub97c \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\ub294, \uc815\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>109<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverObjectsReachableFromObject.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uac1d\uccb4<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverObjectsReachableFromObject.object_reference_callback\">object_reference_callback<\/code><\/td>\n            <td><code><a href=\"#jvmtiObjectReferenceCallback\">jvmtiObjectReferenceCallback<\/a> <\/code><\/td>\n         <td>\uac01 \uac1d\uccb4 \ucc38\uc870\ub97c \uae30\uc220\ud558\uae30 \uc704\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31.\n            <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverObjectsReachableFromObject.user_data\">user_data<\/code><\/td>\n            <td><code>const void *<\/code><\/td>\n            <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ucf5c\ubc31\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ub370\uc774\ud130.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>user_data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub370\uc774\ud130\ub85c\uc11c \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#IterateOverObjectsReachableFromObject.object\"><code>object<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IterateOverObjectsReachableFromObject.object_reference_callback\"><code>object_reference_callback<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IterateOverReachableObjects\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIterateOverReachableObjects(jvmtiEnv* env,\n            jvmtiHeapRootCallback heap_root_callback,\n            jvmtiStackReferenceCallback stack_ref_callback,\n            jvmtiObjectReferenceCallback object_ref_callback,\n            const void* user_data)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub294, \ub8e8\ud2b8 \uac1d\uccb4\uc640 \ub8e8\ud2b8 \uac1d\uccb4\ub85c\ubd80\ud130 \uc9c1\uc811 \ub610\ub294 \uac04\uc811\uc801\uc73c\ub85c \ub3c4\ub2ec \uac00\ub2a5\ud55c \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud569\ub2c8\ub2e4. \ub8e8\ud2b8 \uac1d\uccb4\ub294, \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4, JNI \uae00\ub85c\ubc8c, thread \uc2a4\ud0dd\uc73c\ub85c\ubd80\ud130\uc758 \ucc38\uc870, \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \ubaa9\uc801\uc73c\ub85c \ub8e8\ud2b8\ub85c\uc11c \uc0ac\uc6a9\ub418\ub294 \uadf8 \uc678\uc758 \uac1d\uccb4\uc138\ud2b8\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac01 \ub8e8\ud2b8\uc5d0,<a href=\"#IterateOverReachableObjects.heap_root_callback\"><code>heap_root_callback<\/code><\/a> \ub610\ub294<a href=\"#IterateOverReachableObjects.stack_ref_callback\"><code>stack_root_callback<\/code><\/a> \uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \uac1d\uccb4\ub294, 1 \uac1c(\uc0b4) \uc774\uc0c1\uc758 \uc774\uc720\ub85c\uc368 \ub8e8\ud2b8 \uac1d\uccb4\uac00 \ub420 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0, \uac1c\uac1c\uc758 \uc774\uc720\uc5d0 \ub300\ud574\uc11c \uc801\uc808\ud55c \ucf5c\ubc31\uc774 \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac01 \uac1d\uccb4 \ucc38\uc870\uc5d0,<a href=\"#IterateOverReachableObjects.object_ref_callback\"><code>object_ref_callback<\/code><\/a> \ud568\uc218\uac00 \ubd88\ub824 \uac00 \uac1d\uccb4 \ucc38\uc870\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. \ucf5c\ubc31\uc740, \ucc38\uc870 \uce21\uc5d0\uc11c\uc758 \ucc38\uc870\ub9c8\ub2e4 1 \ud68c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ucc38\uc870 \uc0ac\uc774\ud074\uc774\ub098, \ucc38\uc870\uce21\uc778 \ud328\uc2a4\uac00 \ubcf5\uc218 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0\ub3c4 \uac19\uc2b5\ub2c8\ub2e4. \ucc38\uc870\uce21\uacfc \ucc38\uc870\ub418\ub294 \uce21\uc758 \uc0ac\uc774\uc5d0, \ubcf5\uc218\uc758 \ucc38\uc870\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc2dd\ubcc4\uc5d0\ub294,<a href=\"#jvmtiObjectReferenceCallback.reference_kind\"><code>jvmtiObjectReference.reference_ (\uc885\ub958)<\/code><\/a> \uc640 <a href=\"#jvmtiObjectReferenceCallback.referrer_index\"><code>jvmtiObjectReference.referrer_ (\uc778\ub371\uc2a4)<\/code><\/a> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ucf5c\ubc31\uc740, \ud56d\uc0c1 \ucc38\uc870\uce21\uc758 \ucf5c\ubc31\uc758 \ub098\uc911\uc5d0 \ud589\ud574\uc9c0\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubcf4\uace0\ub418\ub294 \uac1d\uccb4 \ucc38\uc870\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#FollowReferences\"><code>FollowReferences<\/code><\/a> \ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub8e8\ud2b8\ub294, \ud56d\uc0c1, \uac1d\uccb4 \ucc38\uc870\uac00 \ubcf4\uace0\ub418\uae30 \uc804\uc5d0, \ud504\ub85c filer\uc5d0 \ubcf4\uace0\ub429\ub2c8\ub2e4. \uc989,<a href=\"#IterateOverReachableObjects.object_ref_callback\"><code>object_ref_callback<\/code><\/a> \ub294, \ubaa8\ub4e0 \ub8e8\ud2b8\uc5d0 \ub300\ud574\uc11c \uc801\uc808\ud55c \ucf5c\ubc31\uc774 \ubd88\ub824 \uac08 \ub54c\uae4c\uc9c0, \ubd88\ub824 \uac00\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <a href=\"#IterateOverReachableObjects.object_ref_callback\"><code>object_ref_callback<\/code><\/a> \uac00 <code>NULL<\/code> \uc640 \uc9c0\uc815\ub418\uace0 \uc788\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub294, \ud504\ub85c filer\uc5d0 \ub8e8\ud2b8 \uac1d\uccb4\ub97c \ubcf4\uace0\ud55c \ub4a4, \uc885\ub8cc\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc911, heap\uc758 \uc0c1\ud0dc\ub294 \ubcc0\ud654\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ud560\ub2f9\uc774\ub098 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uac1d\uccb4 (\ud3ec\ud568\ub418\uace0 \uc788\ub294 \uac12\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 thread, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread, JNI \ud568\uc218\ub97c \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\ub294, \uc815\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>110<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverReachableObjects.heap_root_callback\">heap_root_callback<\/code><\/td>\n            <td><code><a href=\"#jvmtiHeapRootCallback\">jvmtiHeapRootCallback<\/a> <\/code><\/td>\n           <td><code>JVMTI_HEAP_ROOT_JNI_GLOBAL<\/code>,<code>JVMTI_HEAP_ROOT_SYSTEM_CLASS<\/code>,<code>JVMTI_HEAP_ROOT_MONITOR<\/code>,<code>JVMTI_HEAP_ROOT_THREAD<\/code>, \ub610\ub294 <code>JVMTI_HEAP_ROOT_OTHER<\/code> \ud615\uc758 \uac01 heap \ub8e8\ud2b8\ub97c \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31 \ud568\uc218.\n           <p>&nbsp;<\/p>\n         <code>heap_root_callback<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, heap \ub8e8\ud2b8\uc758 \ubcf4\uace0\ub294 \uc2e4\uc2dc\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"IterateOverReachableObjects.stack_ref_callback\">stack_ref_callback<\/code><\/td>\n            <td><code><a href=\"#jvmtiStackReferenceCallback\">jvmtiStackReferenceCallback<\/a> <\/code><\/td>\n           <td><code>JVMTI_HEAP_ROOT_STACK_LOCAL<\/code> \ub610\ub294 <code>JVMTI_HEAP_ROOT_JNI_LOCAL<\/code> \uc758 \uac01 heap \ub8e8\ud2b8\ub97c \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31 \ud568\uc218.\n            <p>&nbsp;<\/p>\n         <code>stack_ref_callback<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc2a4\ud0dd \ucc38\uc870\uc758 \ubcf4\uace0\ub294 \uc2e4\uc2dc\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"IterateOverReachableObjects.object_ref_callback\">object_ref_callback<\/code><\/td>\n          <td><code><a href=\"#jvmtiObjectReferenceCallback\">jvmtiObjectReferenceCallback<\/a> <\/code><\/td>\n         <td>\uac01 \uac1d\uccb4 \ucc38\uc870\ub97c \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ubd88\ub824 \uac00\ub294 \ucf5c\ubc31.\n         <p>&nbsp;<\/p>\n         <code>object_ref_callback<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ub8e8\ud2b8 \uac1d\uccb4\ub85c\ubd80\ud130\uc758 \ucc38\uc870\uc5d0\ub294 \ub530\ub974\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverReachableObjects.user_data\">user_data<\/code><\/td>\n          <td><code>const void *<\/code><\/td>\n            <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ucf5c\ubc31\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ub370\uc774\ud130.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>user_data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub370\uc774\ud130\ub85c\uc11c \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IterateOverHeap\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>heap\uc758 \ubc18\ubcf5<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIterateOverHeap(jvmtiEnv* env,\n            jvmtiHeapObjectFilter object_filter,\n            jvmtiHeapObjectCallback heap_object_callback,\n            const void* user_data)<\/pre>\n<\/blockquote>\n\n<p>heap\ub0b4\uc758 \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud569\ub2c8\ub2e4. \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\ub3c4, \uadf8\ub807\uc9c0 \uc54a\uc740 \uac1d\uccb4\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#IterateOverHeap.object_filter\"><code>object_filter<\/code><\/a> \ud30c\ub77c\ubbf8\ud130\ub294, \uc5b4\ub290 \uac1d\uccb4\ub97c \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ucf5c\ubc31 \ud568\uc218\uac00 \ubd88\ub824 \uac00\ub294\uc9c0\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\uac00 <code>JVMTI_HEAP_OBJECT_TAGGED<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740, \ubaa8\ub4e0 \ud0dc\uadf8 \ucca8\ubd80 \uac1d\uccb4 \uc5d0 \ub300\ud574\uc11c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\uac00 <code>JVMTI_HEAP_OBJECT_UNTAGGED<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740, \ubaa8\ub4e0 \ud0dc\uadf8 \uc5c6\uc74c \uac1d\uccb4 \uc5d0 \ub300\ud574\uc11c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\uac00 <code>JVMTI_HEAP_OBJECT_EITHER<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740, \ud0dc\uadf8\uac00 \ubd99\uc5b4 \uc788\ub294\uc9c0 \uc5b4\ub5a4\uc9c0\uc5d0 \uad00\uacc4\uc5c6\uc774, heap\ub0b4\uc758 \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc911, heap\uc758 \uc0c1\ud0dc\ub294 \ubcc0\ud654\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ud560\ub2f9\uc774\ub098 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uac1d\uccb4 (\ud3ec\ud568\ub418\uace0 \uc788\ub294 \uac12\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 thread, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread, JNI \ud568\uc218\ub97c \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\ub294, \uc815\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>111<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverHeap.object_filter\">object_filter<\/code><\/td>\n          <td><code><a href=\"#jvmtiHeapObjectFilter\">jvmtiHeapObjectFilter<\/a> <\/code><\/td>\n           <td>\uc5b4\ub290 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ucf5c\ubc31 \ud568\uc218\uac00 \ubd88\ub824 \uac00\ub294\uc9c0\ub97c \ub098\ud0c0\ub0b8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"IterateOverHeap.heap_object_callback\">heap_object_callback<\/code><\/td>\n            <td><code><a href=\"#jvmtiHeapObjectCallback\">jvmtiHeapObjectCallback<\/a> <\/code><\/td>\n           <td><a href=\"#IterateOverHeap.object_filter\"><code>object_filter<\/code><\/a> \uc5d0 \uc77c\uce58\ud558\ub294 \uac01 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ubc18\ubcf5 \ud568\uc218.\n           <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverHeap.user_data\">user_data<\/code><\/td>\n          <td><code>const void *<\/code><\/td>\n            <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ucf5c\ubc31\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ub370\uc774\ud130.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>user_data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub370\uc774\ud130\ub85c\uc11c \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#IterateOverHeap.object_filter\"><code>object_filter<\/code><\/a> \uac00 jvmtiHeapObjectFilter \uc774 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IterateOverHeap.heap_object_callback\"><code>heap_object_callback<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IterateOverInstancesOfClass\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc758 \ubc18\ubcf5<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIterateOverInstancesOfClass(jvmtiEnv* env,\n            jclass klass,\n            jvmtiHeapObjectFilter object_filter,\n            jvmtiHeapObjectCallback heap_object_callback,\n            const void* user_data)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c \ud074\ub77c\uc774\uc5b8\ud2b8\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 \ub418\uc5b4 \uc788\ub294, heap\ub0b4\uc758 \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud569\ub2c8\ub2e4. \uc774\uac83\uc5d0\ub294, \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \uc9c1\uc811\uc801\uc778 \uc778\uc2a4\ud134\uc2a4\uc640 \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \ubaa8\ub4e0 \uc11c\ube0c \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\ub3c4, \uadf8\ub807\uc9c0 \uc54a\uc740 \uac1d\uccb4\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#IterateOverInstancesOfClass.object_filter\"><code>object_filter<\/code><\/a> \ud30c\ub77c\ubbf8\ud130\ub294, \uc5b4\ub290 \uac1d\uccb4\ub97c \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \ucf5c\ubc31 \ud568\uc218\uac00 \ubd88\ub824 \uac00\ub294\uc9c0\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\uac00 <code>JVMTI_HEAP_OBJECT_TAGGED<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740, \ubaa8\ub4e0 \ud0dc\uadf8 \ucca8\ubd80 \uac1d\uccb4 \uc5d0 \ub300\ud574\uc11c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\uac00 <code>JVMTI_HEAP_OBJECT_UNTAGGED<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740, \ubaa8\ub4e0 \ud0dc\uadf8 \uc5c6\uc74c \uac1d\uccb4 \uc5d0 \ub300\ud574\uc11c\ub9cc \ubd88\ub824 \uac11\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\uac00 <code>JVMTI_HEAP_OBJECT_EITHER<\/code> \uc758 \uacbd\uc6b0, \ucf5c\ubc31\uc740, \ud0dc\uadf8\uac00 \ubd99\uc5b4 \uc788\ub294\uc9c0 \uc5b4\ub5a4\uc9c0\uc5d0 \uad00\uacc4\uc5c6\uc774, heap\ub0b4\uc758 \ubaa8\ub4e0 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc911, heap\uc758 \uc0c1\ud0dc\ub294 \ubcc0\ud654\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac1d\uccb4\uc758 \ud560\ub2f9\uc774\ub098 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uac1d\uccb4 (\ud3ec\ud568\ub418\uace0 \uc788\ub294 \uac12\ub3c4 \ud3ec\ud568\ud55c\ub2e4)\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 thread, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc7ac\uac1c\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread, JNI \ud568\uc218\ub97c \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\ub294, \uc815\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>112<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a><\/td>\n          <td><a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverInstancesOfClass.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc774 \ud074\ub798\uc2a4\uc758 \uac1d\uccb4 \uc5d0 \ub300\ud574\uc11c\ub9cc \ubc18\ubcf5 \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"IterateOverInstancesOfClass.object_filter\">object_filter<\/code><\/td>\n          <td><code><a href=\"#jvmtiHeapObjectFilter\">jvmtiHeapObjectFilter<\/a> <\/code><\/td>\n           <td>\uc5b4\ub290 \uac1d\uccb4\uc5d0 \ub300\ud574\uc11c \ucf5c\ubc31 \ud568\uc218\uac00 \ubd88\ub824 \uac00\ub294\uc9c0\ub97c \ub098\ud0c0\ub0b8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"IterateOverInstancesOfClass.heap_object_callback\">heap_object_callback<\/code><\/td>\n            <td><code><a href=\"#jvmtiHeapObjectCallback\">jvmtiHeapObjectCallback<\/a> <\/code><\/td>\n           <td><a href=\"#IterateOverInstancesOfClass.object_filter\"><code>object_filter<\/code><\/a> \uc5d0 \uc77c\uce58\ud558\ub294 \uac01 <a href=\"#IterateOverInstancesOfClass.klass\"><code>klass<\/code><\/a> \uc778\uc2a4\ud134\uc2a4\uc5d0 \ub300\ud574\uc11c \ubd88\ub824 \uac00\ub294 \ubc18\ubcf5 \ud568\uc218.\n         <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IterateOverInstancesOfClass.user_data\">user_data<\/code><\/td>\n          <td><code>const void *<\/code><\/td>\n            <td>\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud574, \ucf5c\ubc31\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ub370\uc774\ud130.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>user_data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0,<code>NULL<\/code> \uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub370\uc774\ud130\ub85c\uc11c \uac74\ub124\ubc1b\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_tag_objects\"><code>can_tag_objects<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#IterateOverInstancesOfClass.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#IterateOverInstancesOfClass.object_filter\"><code>object_filter<\/code><\/a> \uac00 jvmtiHeapObjectFilter \uc774 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IterateOverInstancesOfClass.heap_object_callback\"><code>heap_object_callback<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"local\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uad6d\uc18c \ubcc0\uc218<\/h2>\n\n<p>\uad6d\uc18c \ubcc0\uc218 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#GetLocalObject\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uac1d\uccb4\ud615<\/a><\/li>\n    <li><a href=\"#GetLocalInt\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc815\uc218\ud615<\/a><\/li>\n   <li><a href=\"#GetLocalLong\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc7a5 \uc815\uc218\ud615<\/a><\/li>\n   <li><a href=\"#GetLocalFloat\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n  <li><a href=\"#GetLocalDouble\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n    <li><a href=\"#SetLocalObject\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uac1d\uccb4\ud615<\/a><\/li>\n    <li><a href=\"#SetLocalInt\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc815\uc218\ud615<\/a><\/li>\n   <li><a href=\"#SetLocalLong\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc7a5 \uc815\uc218\ud615<\/a><\/li>\n   <li><a href=\"#SetLocalFloat\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n  <li><a href=\"#SetLocalDouble\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \ucde8\ub4dd \ub610\ub294 \uc124\uc815\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ubcc0\uc218\ub294, \ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud558\uace0 \uc788\ub294 \ud504\ub808\uc784\uc758 \uae4a\uc774\uc640 \uadf8 \ud504\ub808\uc784\ub0b4\uc758 \ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638\uc5d0 \uc758\ud574 \uc2dd\ubcc4\ub429\ub2c8\ub2e4. \ubcc0\uc218\ub85c\ubd80\ud130 \uc2ac\ub86f \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc740, \ud568\uc218 <a href=\"#GetLocalVariableTable\"><code>GetLocalVariableTable<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetLocalObject\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uac1d\uccb4\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetLocalObject(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jobject* value_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>Object<\/code> \ub610\ub294 <code>Object<\/code> \uc758 \uc11c\ube0c \ud074\ub798\uc2a4\uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>21<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalObject.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetLocalObject.depth\">depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalObject.slot\">slot<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalObject.value_ptr\">value_ptr<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jobject<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jobject<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>value_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>Object<\/code> \uc5d0\uc11c\ub3c4 <code>Object<\/code> \uc758 \uc11c\ube0c \ud074\ub798\uc2a4\ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalObject.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalObject.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalObject.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#GetLocalObject.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalObject.value_ptr\"><code>value__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetLocalInt\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc815\uc218\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetLocalInt(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jint* value_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>int<\/code>,<code>short<\/code>,<code>char<\/code>,<code>byte<\/code>,<code>boolean<\/code> \uc758 \uc5b8\uc820\uac00\uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>22<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalInt.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetLocalInt.depth\">depth<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalInt.slot\">slot<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalInt.value_ptr\">value_ptr<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>int<\/code>,<code>short<\/code>,<code>char<\/code>,<code>byte<\/code>,<code>boolean<\/code> \uc758 \uba38\uc9c0\uc54a\uc544\ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalInt.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalInt.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalInt.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#GetLocalInt.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalInt.value_ptr\"><code>value__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetLocalLong\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc7a5 \uc815\uc218\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetLocalLong(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jlong* value_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>long<\/code> \uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>23<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalLong.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetLocalLong.depth\">depth<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalLong.slot\">slot<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalLong.value_ptr\">value_ptr<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>long<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalLong.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalLong.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalLong.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#GetLocalLong.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalLong.value_ptr\"><code>value__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetLocalFloat\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetLocalFloat(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jfloat* value_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>float<\/code> \uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>24<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalFloat.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetLocalFloat.depth\">depth<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalFloat.slot\">slot<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalFloat.value_ptr\">value_ptr<\/code><\/td>\n            <td><code><a href=\"#jfloat\">jfloat<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jfloat<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jfloat<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>float<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalFloat.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalFloat.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalFloat.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#GetLocalFloat.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalFloat.value_ptr\"><code>value__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetLocalDouble\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetLocalDouble(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jdouble* value_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>long<\/code> \uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>25<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalDouble.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetLocalDouble.depth\">depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalDouble.slot\">slot<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetLocalDouble.value_ptr\">value_ptr<\/code><\/td>\n           <td><code><a href=\"#jdouble\">jdouble<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jdouble<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jdouble<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>double<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalDouble.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalDouble.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalDouble.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#GetLocalDouble.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalDouble.value_ptr\"><code>value__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetLocalObject\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uac1d\uccb4\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetLocalObject(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jobject value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>Object<\/code> \ub610\ub294 <code>Object<\/code> \uc758 \uc11c\ube0c \ud074\ub798\uc2a4\uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>26<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetLocalObject.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"SetLocalObject.depth\">depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalObject.slot\">slot<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalObject.value\">value<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>Object<\/code> \uc5d0\uc11c\ub3c4 <code>Object<\/code> \uc758 \uc11c\ube0c \ud074\ub798\uc2a4\ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c <a href=\"#SetLocalObject.value\"><code>value<\/code><\/a> \uc640 \ubcc0\uc218\uc758 \ud615\ud0dc\uc5d0 \ud638\ud658\uc131\uc774 \uc5c6\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalObject.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalObject.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalObject.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#SetLocalObject.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalObject.value\"><code>value<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetLocalInt\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc815\uc218\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetLocalInt(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jint value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>int<\/code>,<code>short<\/code>,<code>char<\/code>,<code>byte<\/code>,<code>boolean<\/code> \uc758 \uc5b8\uc820\uac00\uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>27<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetLocalInt.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"SetLocalInt.depth\">depth<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalInt.slot\">slot<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalInt.value\">value<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>int<\/code>,<code>short<\/code>,<code>char<\/code>,<code>byte<\/code>,<code>boolean<\/code> \uc758 \uba38\uc9c0\uc54a\uc544\ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalInt.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalInt.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalInt.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#SetLocalInt.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetLocalLong\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc7a5 \uc815\uc218\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetLocalLong(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jlong value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>long<\/code> \uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>28<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetLocalLong.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"SetLocalLong.depth\">depth<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalLong.slot\">slot<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalLong.value\">value<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>long<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalLong.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalLong.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalLong.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#SetLocalLong.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetLocalFloat\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetLocalFloat(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jfloat value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>float<\/code> \uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>29<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetLocalFloat.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"SetLocalFloat.depth\">depth<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalFloat.slot\">slot<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalFloat.value\">value<\/code><\/td>\n            <td><code><a href=\"#jfloat\">jfloat<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>float<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalFloat.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalFloat.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalFloat.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#SetLocalFloat.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetLocalDouble\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetLocalDouble(jvmtiEnv* env,\n            jthread thread,\n            jint depth,\n            jint slot,\n            jdouble value)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \ud615\ud0dc\uac00 <code>double<\/code> \uc778 \uad6d\uc18c \ubcc0\uc218\uc758 \uac12\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>30<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetLocalDouble.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"SetLocalDouble.depth\">depth<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uac12\uc744 \ud3ec\ud568\ud55c \ud504\ub808\uc784\uc758 \uae4a\uc774.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalDouble.slot\">slot<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ubcc0\uc218\uc758 \uc2ac\ub86f \ubc88\ud638.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetLocalDouble.value\">value<\/code><\/td>\n           <td><code><a href=\"#jdouble\">jdouble<\/a> <\/code><\/td>\n           <td>\ubcc0\uc218\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_SLOT\"><code>JVMTI_ERROR_INVALID_SLOT<\/code><\/a><\/td>\n          <td><code>slot<\/code> \uac00 \ubb34\ud6a8.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_TYPE_MISMATCH\"><code>JVMTI_ERROR_TYPE_MISMATCH<\/code><\/a><\/td>\n            <td>\ubcc0\uc218\uc758 \ud615\ud0dc\uac00 <code>double<\/code> \uac00 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_OPAQUE_FRAME\"><code>JVMTI_ERROR_OPAQUE_FRAME<\/code><\/a><\/td>\n          <td>\uac00\uc2dc\uc758 \ud504\ub808\uc784\uc740 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalDouble.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalDouble.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetLocalDouble.depth\"><code>depth<\/code><\/a> \uac00 \uc81c\ub85c\ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NO_MORE_FRAMES\"><code>JVMTI_ERROR_NO_MORE_FRAMES<\/code><\/a><\/td>\n          <td>\uc9c0\uc815\ub41c <a href=\"#SetLocalDouble.depth\"><code>depth<\/code><\/a> \uc5d0 \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"breakpointCategory\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">breakpoint<\/h2>\n\n<p>breakpoint \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#SetBreakpoint\">breakpoint\uc758 \uc124\uc815<\/a><\/li>\n <li><a href=\"#ClearBreakpoint\">breakpoint\uc758 \ud574\uc81c<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"SetBreakpoint\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>breakpoint\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetBreakpoint(jvmtiEnv* env,\n            jmethodID method,\n            jlocation location)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ubc0f <code>location<\/code> \ub85c \uc9c0\uc815\ub41c \uba85\ub839\uc5d0 breakpoint\ub97c \uc124\uc815\ud569\ub2c8\ub2e4. 1 \uac1c\uc758 \uba85\ub839\uc5d0 \ub300\ud574\uc11c \uc124\uc815\ud560 \uc218 \uc788\ub294 breakpoint\ub294 1 \uac1c \ubfd0\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc9c0\uc815\ud55c \uba85\ub839\uc774 \uc2e4\ud589\ub418\uae30 \uc9c1\uc804\uc5d0,<a href=\"#Breakpoint\"><code>Breakpoint<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>38<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_breakpoint_events\"><code>can_generate_breakpoint_events<\/code><\/a><\/td>\n            <td><a href=\"#Breakpoint\"><code>Breakpoint<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#SetBreakpoint\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetBreakpoint.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>breakpoint\ub97c \uc124\uc815\ud558\ub294 \uba54\uc18c\ub4dc<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetBreakpoint.location\">location<\/code><\/td>\n          <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>breakpoint\ub97c \uc124\uc815\ud558\ub294 \uba85\ub839\uc758 \uc778\ub371\uc2a4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_breakpoint_events\"><code>can_generate_breakpoint_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_DUPLICATE\"><code>JVMTI_ERROR_DUPLICATE<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc5d0\ub294 breakpoint\uac00 \ubc8c\uc368 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#SetBreakpoint.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_LOCATION\"><code>JVMTI_ERROR_INVALID_LOCATION<\/code><\/a><\/td>\n          <td><a href=\"#SetBreakpoint.location\"><code>location<\/code><\/a> \ub294 \uc720\ud6a8\ud55c \uc704\uce58\ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ClearBreakpoint\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>breakpoint\uc758 \ud574\uc81c<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nClearBreakpoint(jvmtiEnv* env,\n            jmethodID method,\n            jlocation location)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ubc0f <code>location<\/code> \ub85c \uc9c0\uc815\ub41c \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub85c \uc124\uc815\ub418\uc5b4 \uc788\ub294 breakpoint\ub97c \ud574\uc81c\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>39<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_breakpoint_events\"><code>can_generate_breakpoint_events<\/code><\/a><\/td>\n            <td><a href=\"#Breakpoint\"><code>Breakpoint<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#SetBreakpoint\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClearBreakpoint.method\">method<\/code><\/td>\n            <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>breakpoint\ub97c \ud574\uc81c\ud558\ub294 \uba54\uc18c\ub4dc<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClearBreakpoint.location\">location<\/code><\/td>\n            <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>breakpoint\ub97c \ud574\uc81c\ud558\ub294 \uba85\ub839\uc758 \uc778\ub371\uc2a4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_breakpoint_events\"><code>can_generate_breakpoint_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_FOUND\"><code>JVMTI_ERROR_NOT_FOUND<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc5d0\ub294 breakpoint\uac00 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#ClearBreakpoint.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_LOCATION\"><code>JVMTI_ERROR_INVALID_LOCATION<\/code><\/a><\/td>\n          <td><a href=\"#ClearBreakpoint.location\"><code>location<\/code><\/a> \ub294 \uc720\ud6a8\ud55c \uc704\uce58\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"fieldWatch\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uac10\uc2dc\ub418\ub294 \ud544\ub4dc<\/h2>\n\n<p>\uac10\uc2dc\ub418\ub294 \ud544\ub4dc \ud568\uc218:<\/p>\n\n<ul>\n <li><a href=\"#SetFieldAccessWatch\">\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/a><\/li>\n   <li><a href=\"#ClearFieldAccessWatch\">\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/a><\/li>\n <li><a href=\"#SetFieldModificationWatch\">\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/a><\/li>\n   <li><a href=\"#ClearFieldModificationWatch\">\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"SetFieldAccessWatch\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetFieldAccessWatch(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ubc0f <code>field<\/code> \ub85c \uc9c0\uc815\ub41c \ud544\ub4dc\uac00 \uc561\uc138\uc2a4 \ub418\ub824\uace0 \ud55c \uc2dc\uc810\uc5d0\uc11c,<a href=\"#FieldAccess\"><code>FieldAccess<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub294,<a href=\"#ClearFieldAccessWatch\"><code>ClearFieldAccessWatch<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc0ad\uc81c\ub420 \ub54c\uae4c\uc9c0, \ud544\ub4dc\uac00 \uc561\uc138\uc2a4 \ub420 \ub54c\ub9c8\ub2e4 \uc0dd\uc131\ub429\ub2c8\ub2e4. Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc \ub610\ub294 JNI \ucf54\ub4dc\ub85c\ubd80\ud130\uc758 \ud544\ub4dc \uc561\uc138\uc2a4\uac00 \uac10\uc2dc\ub418\uc5b4 \ub2e4\ub978 \uc218\ub2e8\uc73c\ub85c \ubcc0\uacbd\ub418\ub294 \ud544\ub4dc\ub294 \uac10\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uc0ac\uc6a9\uc790\ub294, \uc790\uae30 \uc790\uc2e0\uc758 \ud544\ub4dc \uc561\uc138\uc2a4\uc5d0 \uc758\ud574 \uac10\uc2dc \uc774\ubca4\ud2b8\uac00 \ud2b8\ub9ac\uac70\ub418\ub294 \uac83\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694. 1 \uac1c\uc758 \ud544\ub4dc\uc5d0 \ub300\ud574, \ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\ub97c 1 \uac1c\ub9cc \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud544\ub4dc\uc758 \ubcc0\uacbd\uc740 \uc561\uc138\uc2a4\ub77c\uace0\ub294 \ubcf4\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubcc0\uacbd\uc744 \uac10\uc2dc\ud558\ub824\uba74 ,<a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a> \uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>41<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_access_events\"><code>can_generate_field_access_events<\/code><\/a><\/td>\n            <td>\ud544\ub4dc \uc561\uc138\uc2a4\uc5d0 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldAccessWatch\"><code>SetFieldAccessWatch<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetFieldAccessWatch.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc\ub97c \ud3ec\ud568\ud55c \ud074\ub798\uc2a4<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetFieldAccessWatch.field\">field<\/code><\/td>\n          <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_field_access_events\"><code>can_generate_field_access_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_DUPLICATE\"><code>JVMTI_ERROR_DUPLICATE<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c \ud544\ub4dc\ub294 \ubc8c\uc368 \uc561\uc138\uc2a4\uac00 \uac10\uc2dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#SetFieldAccessWatch.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#SetFieldAccessWatch.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ClearFieldAccessWatch\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nClearFieldAccessWatch(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#SetFieldAccessWatch\"><code>SetFieldAccessWatch<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc774\uc804\uc73c\ub85c \uc124\uc815\ud55c,<code>klass<\/code> \ubc0f <code>field<\/code> \ub85c \uc9c0\uc815\ub418\ub294 \ud544\ub4dc\uc5d0 \ub300\ud55c \ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\ub97c \ucde8\uc18c\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>42<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_access_events\"><code>can_generate_field_access_events<\/code><\/a><\/td>\n            <td>\ud544\ub4dc \uc561\uc138\uc2a4\uc5d0 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldAccessWatch\"><code>SetFieldAccessWatch<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClearFieldAccessWatch.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc\ub97c \ud3ec\ud568\ud55c \ud074\ub798\uc2a4<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ClearFieldAccessWatch.field\">field<\/code><\/td>\n            <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_field_access_events\"><code>can_generate_field_access_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_FOUND\"><code>JVMTI_ERROR_NOT_FOUND<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c \ud544\ub4dc\ub294 \uc561\uc138\uc2a4\uac00 \uac10\uc2dc\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#ClearFieldAccessWatch.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#ClearFieldAccessWatch.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetFieldModificationWatch\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetFieldModificationWatch(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ubc0f <code>field<\/code> \ub85c \uc9c0\uc815\ub41c \ud544\ub4dc\uac00 \ubcc0\uacbd\ub418\ub824\uace0 \ud55c \uc2dc\uc810\uc5d0\uc11c,<a href=\"#FieldModification\"><code>FieldModification<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub294,<a href=\"#ClearFieldModificationWatch\"><code>ClearFieldModificationWatch<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc0ad\uc81c\ub420 \ub54c\uae4c\uc9c0, \ud544\ub4dc\uac00 \ubcc0\uacbd\ub420 \ub54c\ub9c8\ub2e4 \uc0dd\uc131\ub429\ub2c8\ub2e4. Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc \ub610\ub294 JNI \ucf54\ub4dc\ub85c\ubd80\ud130\uc758 \ud544\ub4dc \ubcc0\uacbd\uc774 \uac10\uc2dc\ub418\uc5b4 \ub2e4\ub978 \uc218\ub2e8\uc73c\ub85c \ubcc0\uacbd\ub418\ub294 \ud544\ub4dc\ub294 \uac10\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uc0ac\uc6a9\uc790\ub294, \uc790\uae30 \uc790\uc2e0\uc73c\ub85c \uc2e4\ud589\ud558\ub294 \ud544\ub4dc \ubcc0\uacbd\uc5d0 \uc758\ud574 \uac10\uc2dc \uc774\ubca4\ud2b8\uac00 \ud2b8\ub9ac\uac70\ub418\ub294 \uac83\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694. 1 \uac1c\uc758 \ud544\ub4dc\uc5d0 \ub300\ud574, \ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\ub97c 1 \uac1c\ub9cc \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>43<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_modification_events\"><code>can_generate_field_modification_events<\/code><\/a><\/td>\n            <td>\ud544\ub4dc\uc758 \ubcc0\uacbd\uc5d0 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetFieldModificationWatch.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc\ub97c \ud3ec\ud568\ud55c \ud074\ub798\uc2a4<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetFieldModificationWatch.field\">field<\/code><\/td>\n            <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_field_modification_events\"><code>can_generate_field_modification_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_DUPLICATE\"><code>JVMTI_ERROR_DUPLICATE<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c \ud544\ub4dc\ub294 \ubc8c\uc368 \ubcc0\uacbd\uc774 \uac10\uc2dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#SetFieldModificationWatch.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#SetFieldModificationWatch.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"ClearFieldModificationWatch\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nClearFieldModificationWatch(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ubc0f <code>field<\/code> \ub85c \uc9c0\uc815\ub418\ub294 \ud544\ub4dc\uc5d0 \ub300\ud574\uc11c,<a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc774\uc804\uc73c\ub85c \uc124\uc815\ud55c \ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\ub97c \ucde8\uc18c\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>44<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_modification_events\"><code>can_generate_field_modification_events<\/code><\/a><\/td>\n            <td>\ud544\ub4dc\uc758 \ubcc0\uacbd\uc5d0 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClearFieldModificationWatch.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc\ub97c \ud3ec\ud568\ud55c \ud074\ub798\uc2a4<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ClearFieldModificationWatch.field\">field<\/code><\/td>\n          <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uac10\uc2dc\ud558\ub294 \ud544\ub4dc<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_generate_field_modification_events\"><code>can_generate_field_modification_events<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_FOUND\"><code>JVMTI_ERROR_NOT_FOUND<\/code><\/a><\/td>\n            <td>\uc9c0\uc815\ub41c \ud544\ub4dc\ub294 \ubcc0\uacbd\uc774 \uac10\uc2dc\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#ClearFieldModificationWatch.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#ClearFieldModificationWatch.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"class\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\ud074\ub798\uc2a4<\/h2>\n\n<p>\ud074\ub798\uc2a4 \ud568\uc218:<\/p>\n\n<ul>\n    <li><a href=\"#GetLoadedClasses\">\ub85c\ub4dc\uac00 \ub05d\ub09c \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetClassLoaderClasses\">\ud074\ub798\uc2a4 \ub85c\ub354 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetClassSignature\">\ud074\ub798\uc2a4\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetClassStatus\">\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetSourceFileName\">\uc6d0\uc2dc \ud30c\uc77c\uba85\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#GetClassModifiers\">\ud074\ub798\uc2a4\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#GetClassMethods\">\ud074\ub798\uc2a4\uc758 \uba54\uc18c\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetClassFields\">\ud074\ub798\uc2a4\uc758 \ud544\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetImplementedInterfaces\">\uad6c\ud604\ub41c \uc778\ud130\ud398\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetClassVersionNumbers\">\ud074\ub798\uc2a4 \ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetConstantPool\">\uc815\uc218 \ud480\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#IsInterface\">\uc778\ud130\ud398\uc774\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n    <li><a href=\"#IsArrayClass\">\ubc30\uc5f4 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n  <li><a href=\"#IsModifiableClass\">\ubcc0\uacbd \uac00\ub2a5 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n    <li><a href=\"#GetClassLoader\">\ud074\ub798\uc2a4 \ub85c\ub354\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetSourceDebugExtension\">\uc18c\uc2a4 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#RetransformClasses\">\ud074\ub798\uc2a4\uc758 \uc7ac\ubcc0\ud658<\/a><\/li>\n  <li><a href=\"#RedefineClasses\">\ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758<\/a><\/li>\n<\/ul>\n\n<p>\ud074\ub798\uc2a4\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n <li><a href=\"#jvmtiClassDefinition\"><code>jvmtiClassDefinition<\/code><\/a> - \ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758\uc758 \uc124\uba85<\/li>\n<\/ul>\n\n<p>\ud074\ub798\uc2a4\uc758 \ud50c\ub798\uadf8 \ubc0f \uc815\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiClassStatus\">\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc \ud50c\ub798\uadf8<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetLoadedClasses\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ub85c\ub4dc\uac00 \ub05d\ub09c \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetLoadedClasses(jvmtiEnv* env,\n            jint* class_count_ptr,\n            jclass** classes_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uac00\uc0c1 \uba38\uc2e0\uc5d0 \ub85c\ub4dc \ub418\uace0 \uc788\ub294 \uc804\ud074\ub798\uc2a4\uc758 \ubc30\uc5f4\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc30\uc5f4\ub0b4\uc758 \ud074\ub798\uc2a4\uc758 \uc218\ub294 <code>class_count_ptr<\/code>, \ubc30\uc5f4 \uc790\uccb4\ub294 <code>classes_ptr<\/code> \uc5d0 \uc758\ud574 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubc18\ud658\ub418\ub294 \ub9ac\uc2a4\ud2b8\uc5d0\ub294, \ubaa8\ub4e0 \ud615\ud0dc\uc758 \ubc30\uc5f4 \ud074\ub798\uc2a4 (\uc6d0\uc2dc\ud615\uc758 \ubc30\uc5f4\uc744 \ud3ec\ud568\ud55c\ub2e4)\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>)\ub294, \uc774 \ub9ac\uc2a4\ud2b8\uc5d0\ub294 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>78<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLoadedClasses.class_count_ptr\">class_count_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetLoadedClasses.classes_ptr\">classes_ptr<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uac01 \ud074\ub798\uc2a4\uc5d0\uc758 \ucc38\uc870 (\ud074\ub798\uc2a4 \ub9c8\ub2e4 1 \uac1c(\uc0b4)\uc529)\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jclass*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jclass*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*class_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>classes_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLoadedClasses.class_count_ptr\"><code>class_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLoadedClasses.classes_ptr\"><code>classes_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassLoaderClasses\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4 \ub85c\ub354 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassLoaderClasses(jvmtiEnv* env,\n            jobject initiating_loader,\n            jint* class_count_ptr,\n            jclass** classes_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \uae30\ub3d9 \ub85c\ub354\ub85c\uc11c \uae30\ub85d\ub418\uace0 \uc788\ub294 \ud074\ub798\uc2a4\uc758 \ubc30\uc5f4\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc18\ud658\ub418\ub294 \ubc30\uc5f4\ub0b4\uc758 \uac01 \ud074\ub798\uc2a4\ub294, \uc774 \ud074\ub798\uc2a4 \ub85c\ub354\uc5d0 \uc758\ud574 \uc9c1\uc811 \uc815\uc758\ub418\uc5b4 \uc791\uc131\ub41c \uac83\uc778\uac00, \ub610\ub294 \ub2e4\ub978 \ud074\ub798\uc2a4 \ub85c\ub354\uc5d0 \uc704\uc591 \ud574 \uc791\uc131\ub41c \uac83\uc785\ub2c8\ub2e4. <a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ConstantPool.doc.html#72007\">\u300cCreation and Loading\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JDK 1.1 \uc758 \uad6c\ud604\uc5d0\uc11c\ub294, \uae30\ub3d9 \ud074\ub798\uc2a4 \ub85c\ub354\uc640 \uc815\uc758 \ud074\ub798\uc2a4 \ub85c\ub354\uc758 \uad6c\ubcc4\uc774 \uc778\uc2dd\ub418\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0, \uc774 \ud568\uc218\ub294, \uac00\uc0c1 \uba38\uc2e0\uc5d0 \ub85c\ub4dc \ub41c \ubaa8\ub4e0 \ud074\ub798\uc2a4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc30\uc5f4\ub0b4\uc758 \ud074\ub798\uc2a4\uc758 \uc218\ub294 <code>class_count_ptr<\/code>, \ubc30\uc5f4 \uc790\uccb4\ub294 <code>classes_ptr<\/code> \uc5d0 \uc758\ud574 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>79<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassLoaderClasses.initiating_loader\">initiating_loader<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uae30\ub3d9 \ud074\ub798\uc2a4 \ub85c\ub354.\n         <p>&nbsp;<\/p>\n         <code>initiating_loader<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, bootstrap loader\uc5d0 \uc758\ud574 \uae30\ub3d9\ub41c \ud074\ub798\uc2a4\uac00 \ubc18\ud658\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetClassLoaderClasses.class_count_ptr\">class_count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetClassLoaderClasses.classes_ptr\">classes_ptr<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uac01 \ud074\ub798\uc2a4\uc5d0\uc758 \ucc38\uc870 (\ud074\ub798\uc2a4 \ub9c8\ub2e4 1 \uac1c(\uc0b4)\uc529)\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jclass*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jclass*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*class_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>classes_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassLoaderClasses.class_count_ptr\"><code>class_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassLoaderClasses.classes_ptr\"><code>classes_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassSignature\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassSignature(jvmtiEnv* env,\n            jclass klass,\n            char** signature_ptr,\n            char** generic_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc5d0,<a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/guide\/jni\/spec\/types.html#wp16432\">JNI \ud615\uc758 \uc2dc\uadf8\ub2c8\ucc60<\/a>\uc640 \ud074\ub798\uc2a4\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<code>java.util.List<\/code> \uac00 <code>&quot;Ljava\/util\/List;&quot;<\/code> \ub85c,<code>int[]<\/code> \uac00 <code>&quot;[I&quot;<\/code> \uc758 \uacbd\uc6b0, \ubc18\ud658\ub418\ub294 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc758 \uc774\ub984\uc740, \ub300\uc751\ud558\ub294 \uc6d0\uc2dc\ud615\uc758 \ud615\ud0dc \uc2dc\uadf8\ub2c8\ucc60 \ubb38\uc790\uac00 \ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code> \ub294 <code>&quot;I&quot;<\/code> \uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>48<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassSignature.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassSignature.signature_ptr\">signature_ptr<\/code><\/td>\n            <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4\uc758 JNI \ud615 \uc2dc\uadf8\ub2c8\ucc60 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>signature_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc2dc\uadf8\ub2c8\ucc60\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetClassSignature.generic_ptr\">generic_ptr<\/code><\/td>\n            <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud074\ub798\uc2a4\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60 \uc18d\uc131\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub294, \ub3cc\uc544\uc654\uc744 \ub54c <code>NULL<\/code> \ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>generic_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassSignature.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassStatus\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassStatus(jvmtiEnv* env,\n            jclass klass,\n            jint* status_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \ub2e4\uc74c\uc758 \ube44\ud2b8 \uac00\uc6b4\ub370, 0 \uac1c \uc774\uc0c1\uc758 \ube44\ud2b8\uac00 \uc138\ud2b8 \ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiClassStatus\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc \ud50c\ub798\uadf8<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_CLASS_STATUS_VERIFIED\">JVMTI_CLASS_STATUS_VERIFIED<\/code><\/td>\n          <td align=\"right\">1<\/td>\n            <td>\ud074\ub798\uc2a4\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uac00 \uac80\uc99d\ub418\uc5c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_CLASS_STATUS_PREPARED\">JVMTI_CLASS_STATUS_PREPARED<\/code><\/td>\n          <td align=\"right\">2<\/td>\n            <td>\ud074\ub798\uc2a4\uc758 \uc900\ube44\uac00 \uc644\ub8cc\ud588\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_CLASS_STATUS_INITIALIZED\">JVMTI_CLASS_STATUS_INITIALIZED<\/code><\/td>\n            <td align=\"right\">4<\/td>\n            <td>\ud074\ub798\uc2a4\uc758 \ucd08\uae30\ud654\uac00 \uc644\ub8cc\ud588\ub2e4. \uc815\uc801\uc778 \ucd08\uae30\ud654\uc790\uac00 \uc2e4\ud589\ub418\uc5c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_CLASS_STATUS_ERROR\">JVMTI_CLASS_STATUS_ERROR<\/code><\/td>\n            <td align=\"right\">8<\/td>\n            <td>\ucd08\uae30\ud654\uc911\uc758 \uc5d0\ub7ec\uc5d0 \uc758\ud574 \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_CLASS_STATUS_ARRAY\">JVMTI_CLASS_STATUS_ARRAY<\/code><\/td>\n            <td align=\"right\">16<\/td>\n           <td>\ud074\ub798\uc2a4\ub294 \ubc30\uc5f4. \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, \uadf8 \uc678\uc758 \ubaa8\ub4e0 \ube44\ud2b8\ub294 \uc81c\ub85c.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_CLASS_STATUS_PRIMITIVE\">JVMTI_CLASS_STATUS_PRIMITIVE<\/code><\/td>\n            <td align=\"right\">32<\/td>\n           <td>\ud074\ub798\uc2a4\ub294 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (<code>java.lang.Integer.TYPE<\/code> \ub4f1). \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, \uadf8 \uc678\uc758 \ubaa8\ub4e0 \ube44\ud2b8\ub294 \uc81c\ub85c.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>49<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassStatus.klass\">klass<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassStatus.status_ptr\">status_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud074\ub798\uc2a4\uc758 \ud604\uc7ac \uc0c1\ud0dc\ub85c\uc11c<a href=\"#jvmtiClassStatus\">\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc \ud50c\ub798\uadf8<\/a>\ub97c 1 \uac1c \uc774\uc0c1 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassStatus.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassStatus.status_ptr\"><code>status_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetSourceFileName\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc6d0\uc2dc \ud30c\uc77c\uba85\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetSourceFileName(jvmtiEnv* env,\n            jclass klass,\n            char** source_name_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc5d0 \ub3c4\ucc29\ud574,<code>source_name_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \uc6d0\uc2dc \ud30c\uc77c\uba85\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc18\ud658\ub418\ub294 \uce90\ub9ad\ud130 \ub77c\uc778\uc740, \ud30c\uc77c\uba85\ub9cc\uc73c\ub85c, \ub514\ub809\ud1a0\ub9ac\uba85\uc740 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>) \ubc0f \ubc30\uc5f4\uc758 \uacbd\uc6b0, \uc774 \ud568\uc218\ub294 <a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a> \ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>50<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_source_file_name\"><code>can_get_source_file_name<\/code><\/a><\/td>\n            <td>\ud074\ub798\uc2a4\uc758 \uc6d0\uc2dc \ud30c\uc77c\uc758 \uc774\ub984\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSourceFileName.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSourceFileName.source_name_ptr\">source_name_ptr<\/code><\/td>\n            <td><code>char**<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4\uc758 \uc6d0\uc2dc \ud30c\uc77c\uba85 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_source_file_name\"><code>can_get_source_file_name<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4 \uc815\ubcf4\uc5d0, \uc6d0\uc2dc \ud30c\uc77c\uba85\uc774 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc558\ub2e4. \uc774\uac83\uc5d0\ub294, \ud074\ub798\uc2a4\uac00 \ubc30\uc5f4 \ud074\ub798\uc2a4 \ub610\ub294 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc778 \uacbd\uc6b0\uac00 \ud3ec\ud568\ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetSourceFileName.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetSourceFileName.source_name_ptr\"><code>source_name_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassModifiers\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassModifiers(jvmtiEnv* env,\n            jclass klass,\n            jint* modifiers_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\ub97c,<code>modifiers_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html\">\u300cClass File Format\u300d<\/a>\uc758 \uc7a5\uc73c\ub85c \uc815\uc758\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud074\ub798\uc2a4\uac00 \ubc30\uc5f4 \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0, \uadf8 public, private \ubc0f protected \uc218\uc2dd\uc790\ub294, \uadf8 \ucef4\ud37c\ub10c\ud2b8\ud615\uc758 \uc218\uc2dd\uc790\uc640 \uac19\uc2b5\ub2c8\ub2e4. \uc6d0\uc2dc\ud615\uc758 \ubc30\uc5f4\uc758 \uacbd\uc6b0, \uc774 \ucef4\ud37c\ub10c\ud2b8\ud615\uc740, \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc758 1 \uac1c (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>)\ub85c \ud45c\ud604\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud074\ub798\uc2a4\uac00 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0, \uadf8 public \uc218\uc2dd\uc790\ub294 \ud56d\uc0c1 true \uac00 \ub429\ub2c8\ub2e4. \ub610, \uadf8 protected \uc218\uc2dd\uc790 \ubc0f private \uc218\uc2dd\uc790\ub294 \ud56d\uc0c1 false \uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud074\ub798\uc2a4\uac00 \ubc30\uc5f4 \ud074\ub798\uc2a4 \ub610\ub294 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0, \uadf8 final \uc218\uc2dd\uc790\ub294 \ud56d\uc0c1 true \uac00 \ub418\uc5b4, interface \uc218\uc2dd\uc790\ub294 \ud56d\uc0c1 false \uac00 \ub429\ub2c8\ub2e4. \uadf8 \uc678\uc758 \uc218\uc2dd\uc790\uc758 \uac12\uc740, \uc774 \uc2a4\ud399\uc5d0\uc11c\ub294 \ud310\uc815\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>51<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassModifiers.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassModifiers.modifiers_ptr\">modifiers_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud074\ub798\uc2a4\uc758 \ud604\uc7ac\uc758 \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassModifiers.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassModifiers.modifiers_ptr\"><code>modifiers_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassMethods\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uba54\uc18c\ub4dc\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassMethods(jvmtiEnv* env,\n            jclass klass,\n            jint* method_count_ptr,\n            jmethodID** methods_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \uba54\uc18c\ub4dc\uc758 \uc218\ub97c <code>method_count_ptr<\/code> \uc744 \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc8fc\uc5b4, \uba54\uc18c\ub4dc ID \uc758 \ub9ac\uc2a4\ud2b8\ub97c <code>methods_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uba54\uc18c\ub4dc\uc758 \ub9ac\uc2a4\ud2b8\uc5d0\ub294, \ubcf8\ub798\uc758 \uba54\uc18c\ub4dc \ubfd0\ub9cc\uc774 \uc544\ub2c8\ub77c, \uc0dd\uc131\uc790 \ubc0f static \ucd08\uae30\ud654\uc790\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uc9c1\uc811 \uc120\uc5b8\ub41c \uba54\uc18c\ub4dc\ub9cc\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4 (\uc0c1\uc18d\ud55c \uba54\uc18c\ub4dc\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4). \ubc30\uc5f4 \ud074\ub798\uc2a4 \ubc0f \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>)\uc758 \uacbd\uc6b0, \ube48 \uc0c1\ud0dc(empty)\uc758 \uba54\uc18c\ub4dc \ub9ac\uc2a4\ud2b8\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>52<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_maintain_original_method_order\"><code>can_maintain_original_method_order<\/code><\/a><\/td>\n            <td>\ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc5d0 \ucd9c\ud604\ud558\ub294 \uc21c\uc11c\ub85c \uba54\uc18c\ub4dc\ub97c \ub3cc\ub824\uc904 \uc218\uac00 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassMethods.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassMethods.method_count_ptr\">method_count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud074\ub798\uc2a4\uc5d0\uc11c \uc120\uc5b8\ub418\uace0 \uc788\ub294 \uba54\uc18c\ub4dc\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetClassMethods.methods_ptr\">methods_ptr<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uba54\uc18c\ub4dc ID \uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jmethodID*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jmethodID*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*method_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_CLASS_NOT_PREPARED\"><code>JVMTI_ERROR_CLASS_NOT_PREPARED<\/code><\/a><\/td>\n          <td><a href=\"#GetClassMethods.klass\"><code>klass<\/code><\/a> \uac00 \uc900\ube44\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassMethods.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassMethods.method_count_ptr\"><code>method_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassMethods.methods_ptr\"><code>methods_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassFields\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \ud544\ub4dc\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassFields(jvmtiEnv* env,\n            jclass klass,\n            jint* field_count_ptr,\n            jfieldID** fields_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc5d0 \ud3ec\ud568\ub418\ub294 \ud544\ub4dc\uc758 \uc218\ub97c <code>field_count_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc8fc\uc5b4, \ud544\ub4dc ID \uc758 \ub9ac\uc2a4\ud2b8\ub97c <code>fields_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc9c1\uc811 \uc120\uc5b8\ub41c \ud544\ub4dc\ub9cc\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4 (\uc0c1\uc18d\ud55c \ud544\ub4dc\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4). \ud544\ub4dc\ub294, \ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc5d0 \ucd9c\ud604\ud558\ub294 \uc21c\uc11c\ub85c \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ubc30\uc5f4 \ud074\ub798\uc2a4 \ubc0f \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>)\uc758 \uacbd\uc6b0, \ube48 \uc0c1\ud0dc(empty)\uc758 \ud544\ub4dc \ub9ac\uc2a4\ud2b8\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. JNI \ub97c \uc0ac\uc6a9\ud574, \ubc30\uc5f4\uc758 \uae38\uc774\ub97c \ud310\ubcc4\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>53<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassFields.klass\">klass<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassFields.field_count_ptr\">field_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud074\ub798\uc2a4\uc5d0\uc11c \uc120\uc5b8\ub418\uace0 \uc788\ub294 \ud544\ub4dc\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetClassFields.fields_ptr\">fields_ptr<\/code><\/td>\n         <td><code><a href=\"#jfieldID\">jfieldID<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud544\ub4dc ID \uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jfieldID*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jfieldID*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*field_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_CLASS_NOT_PREPARED\"><code>JVMTI_ERROR_CLASS_NOT_PREPARED<\/code><\/a><\/td>\n          <td><a href=\"#GetClassFields.klass\"><code>klass<\/code><\/a> \uac00 \uc900\ube44\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassFields.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassFields.field_count_ptr\"><code>field_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassFields.fields_ptr\"><code>fields_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetImplementedInterfaces\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6c\ud604\ub41c \uc778\ud130\ud398\uc774\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetImplementedInterfaces(jvmtiEnv* env,\n            jclass klass,\n            jint* interface_count_ptr,\n            jclass** interfaces_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud074\ub798\uc2a4\uc758 \uc9c1\uc811\uc801\uc778 \uc288\ud37c \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294, \uc774 \ud568\uc218\ub294,<code>implements<\/code> \uc808\ub85c \uc120\uc5b8\ub418\uace0 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294, \uc774 \ud568\uc218\ub294,<code>extends<\/code> \uc808\ub85c \uc120\uc5b8\ub418\uace0 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc30\uc5f4 \ud074\ub798\uc2a4 \ubc0f \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>)\uc758 \uacbd\uc6b0, \ube48 \uc0c1\ud0dc(empty)\uc758 \uc778\ud130\ud398\uc774\uc2a4 \ub9ac\uc2a4\ud2b8\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>54<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetImplementedInterfaces.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetImplementedInterfaces.interface_count_ptr\">interface_count_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetImplementedInterfaces.interfaces_ptr\">interfaces_ptr<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc778\ud130\ud398\uc774\uc2a4\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jclass*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jclass*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*interface_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>interfaces_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_CLASS_NOT_PREPARED\"><code>JVMTI_ERROR_CLASS_NOT_PREPARED<\/code><\/a><\/td>\n          <td><a href=\"#GetImplementedInterfaces.klass\"><code>klass<\/code><\/a> \uac00 \uc900\ube44\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetImplementedInterfaces.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetImplementedInterfaces.interface_count_ptr\"><code>interface_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetImplementedInterfaces.interfaces_ptr\"><code>interface_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassVersionNumbers\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4 \ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassVersionNumbers(jvmtiEnv* env,\n            jclass klass,\n            jint* minor_version_ptr,\n            jint* major_version_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html\">\u300cClass File Format\u300d<\/a>\uc758 \uc7a5\uc73c\ub85c \uc815\uc758\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ub9c8\uc774\ub108 \ubc84\uc83c \ubc88\ud638\uc640 \uba54\uc774\uc800 \ubc84\uc83c \ubc88\ud638\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>145<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassVersionNumbers.klass\">klass<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassVersionNumbers.minor_version_ptr\">minor_version_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4 \ud30c\uc77c \ud615\uc2dd\uc758 <code>minor_version<\/code> \ud56d\ubaa9\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc8fc:\ud074\ub798\uc2a4 \ud30c\uc77c \ud615\uc2dd\uacfc\uc758 \uc77c\uad00\uc131\uc744 \uc720\uc9c0\ud558\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0), \ub9c8\uc774\ub108 \ubc84\uc83c \ubc88\ud638\uac00 \ucd5c\ucd08\uc758 \ud30c\ub77c\ubbf8\ud130\uac00 \ub418\uc5b4 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetClassVersionNumbers.major_version_ptr\">major_version_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4 \ud30c\uc77c \ud615\uc2dd\uc758 <code>major_version<\/code> \ud56d\ubaa9\uc758 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4\uac00 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ub610\ub294 \ubc30\uc5f4 \ud074\ub798\uc2a4\uc774\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassVersionNumbers.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassVersionNumbers.minor_version_ptr\"><code>minor_version_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassVersionNumbers.major_version_ptr\"><code>major_version_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetConstantPool\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc815\uc218 \ud480\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetConstantPool(jvmtiEnv* env,\n            jclass klass,\n            jint* constant_pool_count_ptr,\n            jint* constant_pool_byte_count_ptr,\n            unsigned char** constant_pool_bytes_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \ub098\ud0c0\ub09c \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html\">\u300cClass File Format\u300d<\/a>\uc5d0 \uae30\uc7ac\ub41c <code>constant_pool<\/code> \ud56d\ubaa9\uc758 \ud615\uc2dd\uc5d0\uc11c \uc815\uc218 \ud480\uc758 raw \ubc14\uc774\ud2b8\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. <i><\/i>\uc815\uc218 \ud480\uc758 \ud615\uc2dd\uc740, \ud074\ub798\uc2a4 \ud30c\uc77c \ud615\uc2dd\uc758 \ubc84\uc83c\uc5d0 \ub530\ub77c\uc11c \ub2e4\ub97c \uac00\ub2a5\uc131\uc774 \uc788\uc73c\ubbc0\ub85c,<a href=\"#GetClassVersionNumbers\">\ud074\ub798\uc2a4\uc758 \uba54\uc774\uc800 \ubc84\uc83c \ubc88\ud638 \ubc0f \ub9c8\uc774\ub108 \ubc84\uc83c \ubc88\ud638<\/a>\uc5d0 \ud638\ud658\uc131\uc774 \uc788\ub294 \uac83\uc744 \ud655\uc778\ud558\ub3c4\ub85d \ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubc18\ud658\ub418\ub294 \uc815\uc218 \ud480\uc758 \ub808\uc774\uc544\uc6c3\uc774\ub098 \ub0b4\uc6a9\uc774, \uc815\uc758\uc6d0\uc758 \ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc758 \uc815\uc218 \ud480\uacfc \uac19\uc9c0 \uc54a\uc740 \uac83\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. GetConstantPool()\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uc815\uc218 \ud480\uc758 \uc5d4\ud2b8\ub9ac\uc218\ub294, \uc815\uc758\uc6d0\uc758 \uc815\uc218 \ud480\uc758 \uc5d4\ud2b8\ub9ac\uc218\uc640 \ub2e4\ub978 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc5d4\ud2b8\ub9ac\uc758 \uc21c\uc11c\uac00 \ub2e4\ub978 \uacbd\uc6b0\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. GetConstantPool()\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uc815\uc218 \ud480\uc740,<a href=\"#GetBytecodes\">GetBytecodes()<\/a> \uac00 \uc0ac\uc6a9\ud558\ub294 \uc815\uc218 \ud480\uc5d0 \uc77c\uce58\ud569\ub2c8\ub2e4. \uc989, GetBytecodes()\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc5d0 \ud3ec\ud568\ub418\ub294 \uc815\uc218 \ud480 \uc778\ub371\uc2a4\ub294, GetConstantPool()\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uc815\uc218 \ud480\uc758 \uc5d4\ud2b8\ub9ac\ub97c \ucc38\uc870\ud569\ub2c8\ub2e4. <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ubc0f <a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ub294 \uc815\uc218 \ud480\uc744 \ubcc0\uacbd\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \ud568\uc218\ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uc815\uc218 \ud480\uc740, \uac70\uae30\uc5d0 \uc751\ud574 \ubcc0\uacbd\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ub3c4\uc911\uc5d0 \ud074\ub798\uc2a4\uc758 \uc7ac\ubcc0\ud658 \ub610\ub294 \uc7ac\uc815\uc758\ub97c \ud588\uc744 \uacbd\uc6b0\ub294, GetConstantPool()\uc640 GetBytecodes()\uc758 \uc0ac\uc774\uc758 \ub300\uc751 \uad00\uacc4\uac00 \uc720\uc9c0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc5b4\ub290 \ud2b9\uc815\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uac00 \uc0ac\uc6a9\ud558\ub294 \uc815\uc218 \ud480 \uc5d4\ud2b8\ub9ac\uc758 \uac12\uc740, \uc815\uc758\uc6d0\ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ub300\uc751\ud558\ub294 \uac12\uc5d0 \uc77c\uce58\ud569\ub2c8\ub2e4 (\uc778\ub371\uc2a4\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uc5d0\uc11c\ub3c4). \ubc14\uc774\ud2b8 \ucf54\ub4dc\uac00 \uc9c1\uc811\uc801\uc73c\ub85c\ub3c4 \uac04\uc811\uc801\uc73c\ub85c\ub3c4 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \uc815\uc218 \ud480 \uc5d4\ud2b8\ub9ac (\uc8fc\uc11d\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc5c8\ub358 UTF-8 \uce90\ub9ad\ud130 \ub77c\uc778\ub4f1)\ub294, \ubc18\ud658\ub41c \uc815\uc218 \ud480\ub0b4\uc5d0 \uc874\uc7ac\ud558\uace0 \uc788\uc9c0 \uc54a\uc544\ub3c4 \uad1c\ucc2e\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>146<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_constant_pool\"><code>can_get_constant_pool<\/code><\/a><\/td>\n          <td>\uc5b4\ub290 \ud074\ub798\uc2a4\uc758 \uc815\uc218 \ud480\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub294 - <a href=\"#GetConstantPool\"><code>GetConstantPool<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetConstantPool.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetConstantPool.constant_pool_count_ptr\">constant_pool_count_ptr<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc815\uc218 \ud480 \ud14c\uc774\ube14\ub0b4\uc758 \uc5d4\ud2b8\ub9ac\uc758 \uc218 + 1 \uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774\uac83\uc740, \ud074\ub798\uc2a4 \ud30c\uc77c \ud615\uc2dd\uc758 <code>constant_pool_count<\/code> \ud56d\ubaa9\uc5d0 \ub300\uc751\ud558\uace0 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetConstantPool.constant_pool_byte_count_ptr\">constant_pool_byte_count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubc18\ud658\ub41c raw \uc815\uc218 \ud480\ub0b4\uc758 \ubc14\uc774\ud2b8\uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetConstantPool.constant_pool_bytes_ptr\">constant_pool_bytes_ptr<\/code><\/td>\n          <td><code>unsigned char**<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, raw \uc815\uc218 \ud480\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774\uac83\uc740, \ud074\ub798\uc2a4 \ud30c\uc77c \ud615\uc2dd\uc758 <code>constant_pool<\/code> \ud56d\ubaa9\uc73c\ub85c \uc815\uc758\ub41c \ubc14\uc774\ud2b8\uac00 \ub41c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>unsigned char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>unsigned char*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*constant_pool_byte_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_constant_pool\"><code>can_get_constant_pool<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4\uac00 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ub610\ub294 \ubc30\uc5f4 \ud074\ub798\uc2a4\uc774\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetConstantPool.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetConstantPool.constant_pool_count_ptr\"><code>constant_pool_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetConstantPool.constant_pool_byte_count_ptr\"><code>constant_pool_byte_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetConstantPool.constant_pool_bytes_ptr\"><code>constant_pool_bytes_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsInterface\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc778\ud130\ud398\uc774\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsInterface(jvmtiEnv* env,\n            jclass klass,\n            jboolean* is_interface_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud074\ub798\uc2a4 \uac1d\uccb4 \ucc38\uc870\uac00 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub098\ud0c0\ub0b4\uace0 \uc788\ub294\uc9c0 \uc5b4\ub5a4\uc9c0\ub97c \ud310\uc815\ud569\ub2c8\ub2e4. \ud074\ub798\uc2a4\uac00 \uc2e4\uc81c\ub85c \uc778\ud130\ud398\uc774\uc2a4\uc778 \uacbd\uc6b0,<code>jboolean<\/code> \ub294 <code>JNI_TRUE<\/code> \ub97c \ub3cc\ub824\uc8fc\uc5b4, \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc544\ub2cc \uacbd\uc6b0\uc5d0\ub294 <code>JNI_FALSE<\/code> \ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>55<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsInterface.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsInterface.is_interface_ptr\">is_interface_ptr<\/code><\/td>\n            <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#IsInterface.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsInterface.is_interface_ptr\"><code>is_interface_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsArrayClass\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubc30\uc5f4 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsArrayClass(jvmtiEnv* env,\n            jclass klass,\n            jboolean* is_array_class_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud074\ub798\uc2a4 \uac1d\uccb4 \ucc38\uc870\uac00 \ubc30\uc5f4\uc744 \ub098\ud0c0\ub0b4\uace0 \uc788\ub294\uc9c0 \uc5b4\ub5a4\uc9c0\ub97c \ud310\uc815\ud569\ub2c8\ub2e4. <code>jboolean<\/code> \ub294, \ud074\ub798\uc2a4\uac00 \ubc30\uc5f4\uc778 \uacbd\uc6b0\ub294 <code>JNI_TRUE<\/code> \uac00 \ub418\uc5b4, \uadf8\uac00 \uc544\ub2cc \uacbd\uc6b0\ub294 <code>JNI_FALSE<\/code> \uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>56<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsArrayClass.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsArrayClass.is_array_class_ptr\">is_array_class_ptr<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#IsArrayClass.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsArrayClass.is_array_class_ptr\"><code>is_array_class_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsModifiableClass\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubcc0\uacbd \uac00\ub2a5 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsModifiableClass(jvmtiEnv* env,\n            jclass klass,\n            jboolean* is_modifiable_class_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud074\ub798\uc2a4\uac00 \ubcc0\uacbd \uac00\ub2a5\ud55c\uac00 \uc5b4\ub5a4\uac00\ub97c \ud310\uc815\ud569\ub2c8\ub2e4. \ud074\ub798\uc2a4\uac00 \ubcc0\uacbd \uac00\ub2a5\ud55c \uacbd\uc6b0 (<a href=\"#IsModifiableClass.is_modifiable_class_ptr\"><code>is_modifiable_class_ptr<\/code><\/a> \uac00 <code>JNI_TRUE<\/code> \ub97c \ub3cc\ub824\uc8fc\uc5c8\uc744 \uacbd\uc6b0), \uadf8 \ud074\ub798\uc2a4\ub294,<a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc7ac\uc815\uc758\ud558\uac70\ub098 (\uc5d0\uc774\uc804\ud2b8\uac00 <a href=\"#jvmtiCapabilities.can_redefine_classes\"><code>can_redefine_classes<\/code><\/a> \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\uc73c\uba74(\uc790) \uac00\uc815),<a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc7ac\ubcc0\ud658\ud558\uac70\ub098 (\uc5d0\uc774\uc804\ud2b8\uac00 <a href=\"#jvmtiCapabilities.can_retransform_classes\"><code>can_retransform_classes<\/code><\/a> \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\uc73c\uba74(\uc790) \uac00\uc815) \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5b4\ub290 \ud074\ub798\uc2a4\uac00 \ubcc0\uacbd \ubd88\uac00\ub2a5\ud55c \uacbd\uc6b0 (<a href=\"#IsModifiableClass.is_modifiable_class_ptr\"><code>is_modifiable_class_ptr<\/code><\/a> \uac00 <code>JNI_FALSE<\/code> \ub97c \ub3cc\ub824\uc8fc\uc5c8\uc744 \uacbd\uc6b0), \uadf8 \ud074\ub798\uc2a4\ub294 \uc7ac\uc815\uc758\ud558\ub294 \uc77c\ub3c4 \uc7ac\ubcc0\ud658\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (<code>java.lang.Integer.TYPE<\/code> \ub4f1)\uc640 \ubc30\uc5f4 \ud074\ub798\uc2a4\uac00 \ubcc0\uacbd \uac00\ub2a5\ud558\uac8c \ub420 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>45<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_redefine_any_class\"><code>can_redefine_any_class<\/code><\/a><\/td>\n            <td>\uc774\uac83\uc744 \uc18c\uc720\ud558\uba74(\uc790), \ubaa8\ub4e0 \ud074\ub798\uc2a4 (\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc640 \ubc30\uc5f4 \ud074\ub798\uc2a4\ub294 \uc81c\uc678\ud558\ub2e4)\uac00 \ubcc0\uacbd \uac00\ub2a5\ud558\uac8c \ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_redefine_classes\"><code>can_redefine_classes<\/code><\/a><\/td>\n            <td>\uc774 \ud568\uc218\uc758 \uacb0\uacfc\uc5d0 \uc5b4\ub5a4 \uc601\ud5a5\ub3c4 \uc8fc\uc9c0 \uc54a\ub294\ub2e4. \ub2e4\ub9cc, \uc774\uac83\uc744 \ucd94\uac00\ub85c \uc18c\uc720\ud558\uace0 \uc788\uc9c0 \uc54a\uc73c\uba74<a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud074\ub798\uc2a4\ub97c \ubcc0\uacbd\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_retransform_classes\"><code>can_retransform_classes<\/code><\/a><\/td>\n          <td>\uc774 \ud568\uc218\uc758 \uacb0\uacfc\uc5d0 \uc5b4\ub5a4 \uc601\ud5a5\ub3c4 \uc8fc\uc9c0 \uc54a\ub294\ub2e4. \ub2e4\ub9cc, \uc774\uac83\uc744 \ucd94\uac00\ub85c \uc18c\uc720\ud558\uace0 \uc788\uc9c0 \uc54a\uc73c\uba74<a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \uc744 \uc0ac\uc6a9\ud574 \ud074\ub798\uc2a4\ub97c \ubcc0\uacbd\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsModifiableClass.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsModifiableClass.is_modifiable_class_ptr\">is_modifiable_class_ptr<\/code><\/td>\n            <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#IsModifiableClass.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsModifiableClass.is_modifiable_class_ptr\"><code>is_modifiable_class_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetClassLoader\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4 \ub85c\ub354\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetClassLoader(jvmtiEnv* env,\n            jclass klass,\n            jobject* classloader_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \ud074\ub798\uc2a4 \ub85c\ub354\uc758 \ucc38\uc870\ub97c,<code>classloader_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>57<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassLoader.klass\">klass<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetClassLoader.classloader_ptr\">classloader_ptr<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud074\ub798\uc2a4\ub97c \ub85c\ub4dc\ud55c \ud074\ub798\uc2a4 \ub85c\ub354\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud074\ub798\uc2a4\uac00 \ud074\ub798\uc2a4 \ub85c\ub354\ub85c \uc791\uc131\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \ub610\ub294 \ud074\ub798\uc2a4 \ub85c\ub354\uac00 bootstrap \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \uc544\ub2cc \uacbd\uc6b0\ub294,<code>NULL<\/code> \ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jobject<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jobject<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>classloader_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetClassLoader.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetClassLoader.classloader_ptr\"><code>classloader_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetSourceDebugExtension\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc18c\uc2a4 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetSourceDebugExtension(jvmtiEnv* env,\n            jclass klass,\n            char** source_debug_extension_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc744,<code>source_debug_extension_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc18\ud658\ub418\ub294 \uce90\ub9ad\ud130 \ub77c\uc778\uc5d0\ub294,<code>klass<\/code> \uc758 \ud074\ub798\uc2a4 \ud30c\uc77c\uc5d0 \uc874\uc7ac\ud558\ub294 \ub514\ubc84\uadf8 \ud655\uc7a5 \uc815\ubcf4\uac00 \uadf8\ub300\ub85c \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>90<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_source_debug_extension\"><code>can_get_source_debug_extension<\/code><\/a><\/td>\n            <td>\ud074\ub798\uc2a4\uc758 \uc18c\uc2a4 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSourceDebugExtension.klass\">klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSourceDebugExtension.source_debug_extension_ptr\">source_debug_extension_ptr<\/code><\/td>\n            <td><code>char**<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud074\ub798\uc2a4\uc758 debug \ud655\uc7a5 \uae30\ub2a5 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_source_debug_extension\"><code>can_get_source_debug_extension<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4 \uc815\ubcf4\uc5d0, \ub514\ubc84\uadf8 \ud655\uc7a5\uc774 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetSourceDebugExtension.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetSourceDebugExtension.source_debug_extension_ptr\"><code>source_debug_extension_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RetransformClasses\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uc7ac\ubcc0\ud658<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRetransformClasses(jvmtiEnv* env,\n            jint class_count,\n            const jclass* classes)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub294, \ubc8c\uc368 \ub85c\ub4dc \ub05d\ub09c \ud074\ub798\uc2a4\uc758<a href=\"#bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/a>\uc744 \uc6a9\uc774\ud558\uac8c \ud569\ub2c8\ub2e4. \uc218\uc815\ud558\uba74\uc11c \ub514\ubc84\uadf8\ub97c \uacc4\uc18d\ud558\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc18c\uc2a4\ub85c\ubd80\ud130 \uc7ac\ucef4\ud30c\uc77c \ud558\ub294 \uacbd\uc6b0\uc640 \uac19\uc774, \uae30\uc874\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \ucc38\uc870\ud558\ub294 \uac83 \uc5c6\uc774 \ud074\ub798\uc2a4 \uc815\uc758\ub97c \uce58\ud658\ud558\ub294 \uacbd\uc6b0\ub294, \ub300\uc2e0\uc5d0 <a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud074\ub798\uc2a4\uac00 \ucc98\uc74c \ub85c\ub4dc \ub420 \ub54c\ub098<a href=\"#RedefineClasses\">\uc7ac\uc815\uc758<\/a>\ub420 \ub54c\uc5d0, \uadf8 \ucd08\uae30 \ud074\ub798\uc2a4 \ud30c\uc77c \ubc14\uc774\ud2b8\ub97c <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8 \uacbd\uc720\ub85c \ubcc0\ud658\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \uc774\uc804\uc5d0 \ubcc0\ud658\uc744 \ud588\ub294\uc9c0 \uc5b4\ub5a0\ud588\ub294\uc9c0\uc5d0\ub294 \uad00\uacc4\uc5c6\uc774, \ubcc0\ud658 \ucc98\ub9ac\ub97c \uc7ac\uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774 \uc7ac\ubcc0\ud658\uc740 \ub2e4\uc74c\uc758 \uc21c\uc11c\ub85c \ud589\ud574\uc9d1\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n    <li>\ucd08\uae30 \ud074\ub798\uc2a4 \ud30c\uc77c \ubc14\uc774\ud2b8\ub85c\ubd80\ud130 \ucc98\ub9ac\uac00 \uac1c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n <li>\uc804\ud68c\uc758 \ub85c\ub4dc \ub610\ub294 \uc7ac\uc815\uc758\uc2dc\uc5d0 <code>ClassFileLoadHook<\/code> \uc774\ubca4\ud2b8\ub97c \uc218\uc2e0\ud55c<a href=\"#jvmtiCapabilities.can_retransform_classes\">\uc7ac\ubcc0\ud658 \ubd88\uac00\ub2a5 <\/a>\uc5d0\uc774\uc804\ud2b8 \ub9c8\ub2e4, \uc5d0\uc774\uc804\ud2b8\uac00 (<code>new_class_data<\/code> \ud30c\ub77c\ubbf8\ud130 \uacbd\uc720\ub85c) \ub3cc\ub824\uc900 \ubc14\uc774\ud2b8\uac00 \ubcc0\ud658\uc758 \ucd9c\ub825\uc73c\ub85c\uc11c \uc7ac\uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc774\uac83\uc740,<code>ClassFileLoadHook<\/code> \uc774\ubca4\ud2b8\uac00 \uc774\ub7ec\ud55c \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294 \uc810\uc744 \uc81c\uc678\ud558\uba74, \uc804\ud68c\uc758 \ubcc0\ud658\uc744 \ubcc0\uacbd\uc5c6\uc774 \uc7ac\uc801\uc6a9\ud558\ub294 \uac83\uacfc \ub4f1\uac00\uc785\ub2c8\ub2e4.<\/li>\n  <li><a href=\"#jvmtiCapabilities.can_retransform_classes\">\uc7ac\ubcc0\ud658 \uac00\ub2a5 <\/a>\uc5d0\uc774\uc804\ud2b8 \ub9c8\ub2e4,<code>ClassFileLoadHook<\/code> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \uc0c8\ub85c\uc6b4 \ubcc0\ud658\uc744 \uc801\uc6a9\ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/li>\n   <li>\ubcc0\ud658\ub41c \ud074\ub798\uc2a4 \ud30c\uc77c \ubc14\uc774\ud2b8\uac00 \ud074\ub798\uc2a4\uc758 \uc0c8\ub85c\uc6b4 \uc815\uc758\ub85c\uc11c \uc778\uc2a4\ud1a8 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n<p>\uc790\uc138\ud55c \uac83\uc740 <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ucd08\uae30 \ud074\ub798\uc2a4 \ud30c\uc77c \ubc14\uc774\ud2b8\ub294,<code>ClassLoader.defineClass<\/code> \ub610\ub294 <code>RedefineClasses<\/code> \uc5d0\uac8c \uac74\ub124\uc9c4 \ubc14\uc774\ud2b8 (\ubcc0\ud658\uc758 \uc801\uc6a9\uc804)\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ub2e4\ub9cc, \uc591\uc790\uac00 \uc5c4\ubc00\ud558\uac8c\ub294 \uc77c\uce58\ud558\uc9c0 \uc54a\ub294 \uac83\uc774 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"#GetConstantPool\"><code>GetConstantPool<\/code><\/a> \ub85c \uc124\uba85\ud55c \uac83\ucc98\ub7fc, \uc815\uc218 \ud480\uc774 \ub2e4\ub978 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uba54\uc18c\ub4dc\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub0b4\uc758 \uc815\uc218 \ud480 \uc778\ub371\uc2a4\ub294 \ub300\uc751\ud569\ub2c8\ub2e4. \uc77c\ubd80\uc758 \uc18d\uc131\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc21c\uc11c\uac00 \uc911\uc694\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0 (\uba54\uc18c\ub4dc\uc758 \uc21c\uc11c \ub4f1), \uc21c\uc11c\uac00 \uc720\uc9c0\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc7ac\ubcc0\ud658\uc744 \uc2e4\uc2dc\ud558\uba74, \uc0c8\ub85c\uc6b4 \ubc84\uc83c\uc758 \uba54\uc18c\ub4dc\uac00 \uc778\uc2a4\ud1a8 \ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub0a1\uc740 \uba54\uc18c\ub4dc \ubc84\uc83c\uc740<a href=\"#obsoleteMethods\">\ud3d0\uc9c0<\/a>\ub418\uc5b4 \uadf8 \ud6c4\uc758 \ud638\ucd9c\uc5d0\uc11c\ub294 \uc0c8\ub85c\uc6b4 \uba54\uc18c\ub4dc \ubc84\uc83c\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc7ac\uc815\uc758\ub41c \uba54\uc18c\ub4dc\uc5d0 \uc561\ud2f0\ube0c\ud55c \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc788\uc73c\uba74(\uc790), \uadf8 \uc561\ud2f0\ube0c \ud504\ub808\uc784\uc740 \uc6d0\uc758 \uba54\uc18c\ub4dc\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc18d\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc5d0 \uc758\ud574, \uc77c\ubc18\uc801\uc778 JVM \uc2dc\uba58\ud2f1\uc2a4\uc758 \uc544\ub798\uc5d0\uc11c \ud589\ud574\uc9c0\ub294 \uc774\uc678\uc758 \ucd08\uae30\ud654\ub294 \uc77c\uc5b4\ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc989, \ud074\ub798\uc2a4\ub97c \uc7ac\ubcc0\ud658\ud574\ub3c4, \uadf8 \ud074\ub798\uc2a4\uc758 \ucd08\uae30\ud654\ub294 \uc2e4\ud589\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. static \ud544\ub4dc\uc758 \uac12\uc740, \ud638\ucd9c\uc804 \uc0c1\ud0dc\uc778 \ucc44\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread\ub97c \uc911\ub2e8\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud074\ub798\uc2a4\ub0b4\uc758 breakpoint\ub294 \ud574\uc81c\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc18d\uc131\uc740 \ubaa8\ub450 \uac31\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc7ac\ubcc0\ud658\ub41c \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\ub294 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud544\ub4dc\ub294 \uc774\uc804\uc758 \uac12\uc744 \ubcf4\uad00 \uc720\uc9c0\ud569\ub2c8\ub2e4. \uc778\uc2a4\ud134\uc2a4\uc0c1\uc758<a href=\"#GetTag\">\ud0dc\uadf8<\/a>\ub3c4 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud638\ucd9c\uc5d0\uc758 \uc751\ub2f5\uc73c\ub85c\uc11c<a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\uc678\uc758 \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub420 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc7ac\ubcc0\ud658\uc5d0 \uc758\ud574, \uba54\uc18c\ub4dc\uc758 \ubcf8\uccb4, \uc815\uc218 \ud480, \uc18d\uc131\uc774 \ubcc0\uacbd\ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc7ac\ubcc0\ud658\uc5d0 \uc758\ud574, \ud544\ub4dc\ub098 \uba54\uc18c\ub4dc\uc758 \ucd94\uac00, \uc0ad\uc81c, \uc774\ub984\uc758 \ubcc0\uacbd, \uba54\uc18c\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ubcc0\uacbd, \uc218\uc2dd\uc790\uc758 \ubcc0\uacbd, \uc0c1\uc18d\uc758 \ubcc0\uacbd\uc774 \uc77c\uc5b4\ub098\uc9c0 \uc54a\uac8c \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc81c\ud55c\uc740, \uc7a5\ub798\uc758 \ubc84\uc83c\uc73c\ub85c \ud574\uc81c\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uc7ac\ubcc0\ud658\uc774 \uc2dc\ud589\ub418\uc5c8\uc744 \ub54c \ubc18\ud658\ub418\ub294 \uc5d0\ub7ec \ucf54\ub4dc\uc5d0 \ub300\ud574\uc11c\ub294, \uc544\ub798\uc640 \uac19\uc740 \uc5d0\ub7ec \ubc18\ud658\uac12\uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc14\uc774\ud2b8\uac00 \uac80\uc99d \ub610\ub294 \uc778\uc2a4\ud1a8 \ub418\ub294 \uac83\uc740, \uadf8\ub7ec\ud55c \ubc14\uc774\ud2b8\uac00 <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uccb4\uc778\uc744 \ud1b5\uacfc \ud600 \ud6c4\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ubcc0\ud658\uc758 \uacb0\uacfc\uac00, \ubc18\ud658\ub418\ub294 \uc5d0\ub7ec \ucf54\ub4dc\uc5d0 \ubc18\uc601\ub429\ub2c8\ub2e4. <code>JVMTI_ERROR_NONE<\/code> \uc774\uc678\uc758 \uc5d0\ub7ec \ucf54\ub4dc\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc84c\uc744 \uacbd\uc6b0, \uc7ac\ubcc0\ud658 \ub300\uc0c1 \ud074\ub798\uc2a4\uc758 \uc5b4\ub290 \uac83\uc5d0\ub3c4 \uc0c8\ub85c\uc6b4 \uc815\uc758\ub294 \uc778\uc2a4\ud1a8 \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\uac00 (\uc5d0\ub7ec \ucf54\ub4dc <code>JVMTI_ERROR_NONE<\/code> \ub85c) \ub3cc\uc544\uc654\uc744 \uacbd\uc6b0, \uc7ac\ubcc0\ud658 \ub300\uc0c1\uc758 \ubaa8\ub4e0 \ud074\ub798\uc2a4\uc5d0 \uc0c8\ub85c\uc6b4 \uc815\uc758\uac00 \uc778\uc2a4\ud1a8 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>152<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_retransform_classes\"><code>can_retransform_classes<\/code><\/a><\/td>\n          <td><a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ub85c \ud074\ub798\uc2a4\ub97c \uc7ac\ubcc0\ud658\ud560 \uc218 \uc788\ub2e4. \ud2b9\uc815\uc758 \uad6c\ud604\uc5d0 \uc758\ud55c \uc774 \uad8c\ud55c\uc758 \uc81c\ud55c (<a href=\"#capability\">\u300c\uad8c\ud55c\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870)\uc5d0 \uac00\uc138\ud574 \uc774 \uad8c\ud55c\uc740, \uc774 \ud658\uacbd\uc5d0\uc11c <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \ucc98\uc74c \uc720\ud6a8\ud654 \ub418\uae30 \uc804\uc73c\ub85c \uc124\uc815\ud574\uc57c \ud55c\ub2e4. <code>ClassFileLoadHook<\/code> \uac00 \ucc98\uc74c \uc720\ud6a8\ud654 \ub41c \uc2dc\uc810\uc5d0\uc11c \uc774 \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\ub294 \ud658\uacbd\uc744 \u300c\uc7ac\ubcc0\ud658 \uac00\ub2a5\u300d\uc774\ub77c\uace0 \ubd80\ub978\ub2e4. <i><\/i><code>ClassFileLoadHook<\/code> \uac00 \ucc98\uc74c \uc720\ud6a8\ud654 \ub41c \uc2dc\uc810\uc5d0\uc11c \uc774 \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\uc9c0 \uc54a\ub294 \ud658\uacbd\uc740 \u300c\uc7ac\ubcc0\ud658 \ubd88\uac00\ub2a5\u300d\uc774\ub77c\uace0 \ubd80\ub978\ub2e4. <i><\/i><\/td>\n      <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_retransform_any_class\"><code>can_retransform_any_class<\/code><\/a><\/td>\n          <td><a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ub97c \uc784\uc758\uc758 \ud074\ub798\uc2a4\uc5d0\uc11c \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4 (<a href=\"#jvmtiCapabilities.can_retransform_classes\"><code>can_retransform_classes<\/code><\/a> \ub3c4 \uc124\uc815\ud560 \ud544\uc694\uac00 \uc788\ub2e4)<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RetransformClasses.class_count\">class_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4\uc758 \uc218.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"RetransformClasses.classes\">classes<\/code><\/td>\n           <td><code>const <a href=\"#jclass\">jclass<\/a> *<\/code><\/td>\n          <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4\uc758 \ubc30\uc5f4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jclass<\/code> \uc758 <code>class_count<\/code> \uc694\uc18c\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_retransform_classes\"><code>can_retransform_classes<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNMODIFIABLE_CLASS\"><code>JVMTI_ERROR_UNMODIFIABLE_CLASS<\/code><\/a><\/td>\n          <td>\ubcc0\uacbd \ubd88\uac00\ub2a5\ud55c \ud074\ub798\uc2a4\uac00 <a href=\"#RetransformClasses.classes\"><code>classes<\/code><\/a> \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub2e4. <a href=\"#IsModifiableClass\"><code>IsModifiableClass<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#RetransformClasses.classes\"><code>classes<\/code><\/a> \uc911 \ud55c\ucabd\uc774 \uc720\ud6a8\ud55c \ud074\ub798\uc2a4\uac00 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_VERSION\"><code>JVMTI_ERROR_UNSUPPORTED_VERSION<\/code><\/a><\/td>\n            <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc84\uc83c \ubc88\ud638\uac00 \uc774 VM \ub85c \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS_FORMAT\"><code>JVMTI_ERROR_INVALID_CLASS_FORMAT<\/code><\/a><\/td>\n          <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ud615\uc2dd\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\ub2e4 (VM <code>ClassFormatError<\/code> \ub97c \ub3cc\ub824\uc900\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION\"><code>JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION<\/code><\/a><\/td>\n            <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \uc815\uc758\uac00 \uc21c\ud658 \uc815\uc758\uac00 \ub41c\ub2e4 (VM \ub294 <code>ClassCircularityError<\/code> \ub97c \ub3cc\ub824\uc900\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_FAILS_VERIFICATION\"><code>JVMTI_ERROR_FAILS_VERIFICATION<\/code><\/a><\/td>\n          <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc14\uc774\ud2b8\uac00 \uac80\uc99d\uc5d0 \uc2e4\ud328\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NAMES_DONT_MATCH\"><code>JVMTI_ERROR_NAMES_DONT_MATCH<\/code><\/a><\/td>\n          <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc5d0\uc11c \uc815\uc758\ub41c \ud074\ub798\uc2a4\uba85\uc774, \uad6c\ud074\ub798\uc2a4 \uac1d\uccb4\ub0b4\uc758 \uc774\ub984\uacfc \ub2e4\ub974\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED<\/code><\/a><\/td>\n            <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\ub85c \uba54\uc18c\ub4dc\uc758 \ucd94\uac00\uac00 \ud544\uc694.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED<\/code><\/a><\/td>\n            <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc5d0 \uc758\ud574 \ud544\ub4dc\uac00 \ubcc0\uacbd\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED<\/code><\/a><\/td>\n          <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \uc9c1\uc811 \uc288\ud37c \ud074\ub798\uc2a4\uac00 \ub2e4\ub974\ub2e4, \ub610\ub294 \uc9c1\uc811 \uad6c\ud604\ub418\uace0 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub2e4\ub974\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED<\/code><\/a><\/td>\n            <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc5d0\uc11c\ub294 \uad6c\ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc73c\ub85c \uc120\uc5b8\ud55c \uba54\uc18c\ub4dc\ub97c \uc120\uc5b8\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED<\/code><\/a><\/td>\n          <td>\uc7ac\ubcc0\ud658\ub41c \ud074\ub798\uc2a4 \ud30c\uc77c\uc5d0 \ub2e4\ub978 \ud074\ub798\uc2a4 \uc218\uc2dd\uc790\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED<\/code><\/a><\/td>\n            <td>\uc7ac\ubcc0\ud658\ub418\ub294 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uac00 \uad6c\ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc218\uc2dd\uc790\uc640 \ub2e4\ub974\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#RetransformClasses.class_count\"><code>class_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#RetransformClasses.classes\"><code>classes<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RedefineClasses\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jclass klass;\n    jint class_byte_count;\n    const unsigned char* class_bytes;\n} jvmtiClassDefinition;<\/pre>\n\n<pre>\njvmtiError\nRedefineClasses(jvmtiEnv* env,\n            jint class_count,\n            const jvmtiClassDefinition* class_definitions)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\ub41c \ud074\ub798\uc2a4\ub294 \ubaa8\ub450, \uc81c\uacf5\ub418\ub294 \uc815\uc758\uc5d0 \ub530\ub77c \uc7ac\uc815\uc758\ub429\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \uc5b4\ub290 \ud074\ub798\uc2a4\uc758 \uc815\uc758\ub97c \uc0c8\ub85c\uc6b4 \uc815\uc758\ub85c \uc62e\uaca8\ub193\ub294 \uacbd\uc6b0\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uadf8\ub7ec\ud55c \uc870\uc791\uc740, \uc218\uc815\ud558\uba74\uc11c \ub514\ubc84\uadf8\ub97c \uacc4\uc18d\ud574 \uac00\ub294 \uacbd\uc6b0\uc5d0 \ud544\uc694\ud558\uac8c \ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"#bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/a>\uc744 \uc2e4\uc2dc\ud558\ub294 \uacbd\uc6b0 \ub4f1, \uae30\uc874\uc758 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc14\uc774\ud2b8\ub97c \ubcc0\ud658\ud560 \ud544\uc694\uac00 \uc788\ub294 \uacbd\uc6b0\ub294,<a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc7ac\uc815\uc758\ub97c \uc2e4\uc2dc\ud558\uba74, \uc0c8\ub85c\uc6b4 \ubc84\uc83c\uc758 \uba54\uc18c\ub4dc\uac00 \uc778\uc2a4\ud1a8 \ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub0a1\uc740 \uba54\uc18c\ub4dc \ubc84\uc83c\uc740<a href=\"#obsoleteMethods\">\ud3d0\uc9c0<\/a>\ub418\uc5b4 \uadf8 \ud6c4\uc758 \ud638\ucd9c\uc5d0\uc11c\ub294 \uc0c8\ub85c\uc6b4 \uba54\uc18c\ub4dc \ubc84\uc83c\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc7ac\uc815\uc758\ub41c \uba54\uc18c\ub4dc\uc5d0 \uc561\ud2f0\ube0c\ud55c \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc788\uc73c\uba74(\uc790), \uadf8 \uc561\ud2f0\ube0c \ud504\ub808\uc784\uc740 \uc6d0\uc758 \uba54\uc18c\ub4dc\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uc18d\ud589\ud569\ub2c8\ub2e4. \uc2a4\ud0dd \ud504\ub808\uc784\uc744 \ub9ac\uc14b \ud558\ub294 \uacbd\uc6b0\ub294, \ud30c\uae30\ub41c \uba54\uc18c\ub4dc\uc640 \ud568\uaed8 <a href=\"#PopFrame\"><code>PopFrame<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574, \ud504\ub808\uc784\uc744 \ud31d \ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\uc5d0 \uc758\ud574, \uc77c\ubc18\uc801\uc778 JVM \uc2dc\uba58\ud2f1\uc2a4\uc758 \uc544\ub798\uc5d0\uc11c \ud589\ud574\uc9c0\ub294 \uc774\uc678\uc758 \ucd08\uae30\ud654\ub294 \uc77c\uc5b4\ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc989, \ud074\ub798\uc2a4\ub97c \uc7ac\uc815\uc758\ud574\ub3c4, \uadf8 \ud074\ub798\uc2a4\uc758 \ucd08\uae30\ud654\ub294 \uc2e4\ud589\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. static \ud544\ub4dc\uc758 \uac12\uc740, \ud638\ucd9c\uc804 \uc0c1\ud0dc\uc778 \ucc44\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread\ub97c \uc911\ub2e8\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud074\ub798\uc2a4\ub0b4\uc758 breakpoint\uc740 \ud574\uc81c\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc18d\uc131\uc740 \ubaa8\ub450 \uac31\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc7ac\uc815\uc758\ub41c \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\ub294 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud544\ub4dc\ub294 \uc774\uc804\uc758 \uac12\uc744 \ubcf4\uad00 \uc720\uc9c0\ud569\ub2c8\ub2e4. \uc778\uc2a4\ud134\uc2a4\uc0c1\uc758<a href=\"#GetTag\">\ud0dc\uadf8<\/a>\ub3c4, \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud638\ucd9c\uc5d0 \ub300\ub2f5\ud574, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc774\ubca4\ud2b8\ub85c\uc11c<a href=\"#ClassFileLoadHook\">\ud074\ub798\uc2a4 \ud30c\uc77c \ub85c\ub4dc \ud6c5<\/a>\uc774 \uc1a1\uc2e0\ub429\ub2c8\ub2e4 (\uc720\ud6a8\ud55c \uacbd\uc6b0). \uadf8\ub7ec\ub098, \uadf8 \uc678\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc7ac\uc815\uc758\uc5d0 \uc758\ud574, \uba54\uc18c\ub4dc\uc758 \ubcf8\uccb4, \uc815\uc218 \ud480, \uc18d\uc131\uc774 \ubcc0\uacbd\ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc7ac\uc815\uc758\uc5d0 \uc758\ud574, \ud544\ub4dc\ub098 \uba54\uc18c\ub4dc\uc758 \ucd94\uac00, \uc0ad\uc81c, \uc774\ub984\uc758 \ubcc0\uacbd, \uba54\uc18c\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ubcc0\uacbd, \uc218\uc2dd\uc790\uc758 \ubcc0\uacbd, \uc0c1\uc18d\uc758 \ubcc0\uacbd\uc774 \uc77c\uc5b4\ub098\uc9c0 \uc54a\uac8c \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc81c\ud55c\uc740, \uc7a5\ub798\uc758 \ubc84\uc83c\uc73c\ub85c \ud574\uc81c\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uc7ac\uc815\uc758\uac00 \uc2dc\ud589\ub418\uc5c8\uc744 \ub54c \ubc18\ud658\ub418\ub294 \uc5d0\ub7ec \ucf54\ub4dc\uc5d0 \ub300\ud574\uc11c\ub294, \uc544\ub798\uc640 \uac19\uc740 \uc5d0\ub7ec \ubc18\ud658\uac12\uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc14\uc774\ud2b8\uac00 \uac80\uc99d \ub610\ub294 \uc778\uc2a4\ud1a8 \ub418\ub294 \uac83\uc740, \uadf8\ub7ec\ud55c \ubc14\uc774\ud2b8\uac00 <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uccb4\uc778\uc744 \ud1b5\uacfc \ud600 \ud6c4\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c,<a href=\"#RedefineClasses.class_definitions\"><code>class_definitions<\/code><\/a> \uc5d0\uac8c \uac74\ub124\uc9c4 \ubc14\uc774\ud2b8\uc5d0 \uc801\uc6a9\ub41c \ubcc0\ud658\uc758 \uacb0\uacfc\uac00, \ubc18\ud658\ub418\ub294 \uc5d0\ub7ec \ucf54\ub4dc\uc5d0 \ubc18\uc601\ub429\ub2c8\ub2e4. <code>JVMTI_ERROR_NONE<\/code> \uc774\uc678\uc758 \uc5d0\ub7ec \ucf54\ub4dc\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc84c\uc744 \uacbd\uc6b0, \uc7ac\uc815\uc758 \ub300\uc0c1 \ud074\ub798\uc2a4\uc758 \uc5b4\ub290 \uac83\uc5d0\ub3c4 \uc0c8\ub85c\uc6b4 \uc815\uc758\ub294 \uc778\uc2a4\ud1a8 \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\uac00 (\uc5d0\ub7ec \ucf54\ub4dc <code>JVMTI_ERROR_NONE<\/code> \ub85c) \ub3cc\uc544\uc654\uc744 \uacbd\uc6b0, \uc7ac\uc815\uc758 \ub300\uc0c1\uc758 \ubaa8\ub4e0 \ud074\ub798\uc2a4\uc5d0 \uc0c8\ub85c\uc6b4 \uc815\uc758\uac00 \uc778\uc2a4\ud1a8 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>87<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_redefine_classes\"><code>can_redefine_classes<\/code><\/a><\/td>\n            <td><a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ub85c \ud074\ub798\uc2a4\ub97c \uc7ac\uc815\uc758\ud560 \uc218 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_redefine_any_class\"><code>can_redefine_any_class<\/code><\/a><\/td>\n            <td>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc5d0\uc11c\ub3c4 \ubc30\uc5f4 \ud074\ub798\uc2a4\ub3c4 \uc544\ub2cc \uc784\uc758\uc758 \ud074\ub798\uc2a4\ub97c \ubcc0\uacbd (\uc7ac\ubcc0\ud658 \ub610\ub294 \uc7ac\uc815\uc758)\ud560 \uc218 \uc788\ub2e4. <a href=\"#IsModifiableClass\"><code>IsModifiableClass<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiClassDefinition\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiClassDefinition<\/code> - \ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758\uc758 \uc124\uba85<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiClassDefinition.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc774 \ud074\ub798\uc2a4\uc758 \ud074\ub798\uc2a4 \uac1d\uccb4<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiClassDefinition.class_byte_count\">class_byte_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\uc758 \ubc14\uc774\ud2b8\uc218<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiClassDefinition.class_bytes\">class_bytes<\/code><\/td>\n         <td><code>const unsigned char*<\/code><\/td>\n            <td>\ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\ub294 \ubc14\uc774\ud2b8 (<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html\">\u300cClass File Format\u300d<\/a>\uc758 \uc124\uba85\uc744 \ucc38\uc870)<i><\/i><\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RedefineClasses.class_count\">class_count<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td><code>class_definitions<\/code> \ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \uc218<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RedefineClasses.class_definitions\">class_definitions<\/code><\/td>\n          <td><code>const <a href=\"#jvmtiClassDefinition\">jvmtiClassDefinition<\/a> *<\/code><\/td>\n          <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \uc815\uc758\uc758 \ubc30\uc5f4\uc218\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiClassDefinition<\/code> \uc758 <code>class_count<\/code> \uc694\uc18c\uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_redefine_classes\"><code>can_redefine_classes<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td>\uba87\uac1c\uc758 <code>class_bytes<\/code> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNMODIFIABLE_CLASS\"><code>JVMTI_ERROR_UNMODIFIABLE_CLASS<\/code><\/a><\/td>\n          <td><code>class_definitions<\/code> \uc758 \uc694\uc18c\ub294 \ubcc0\uacbd\ud560 \uc218 \uc5c6\ub2e4. <a href=\"#IsModifiableClass\"><code>IsModifiableClass<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><code>class_definitions<\/code> \uc758 \uc694\uc18c\uac00 \uc720\ud6a8\ud55c \ud074\ub798\uc2a4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_VERSION\"><code>JVMTI_ERROR_UNSUPPORTED_VERSION<\/code><\/a><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc84\uc83c\uc774 \uc774 VM \ub85c \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS_FORMAT\"><code>JVMTI_ERROR_INVALID_CLASS_FORMAT<\/code><\/a><\/td>\n          <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ud615\uc2dd\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\ub2e4 (VM <code>ClassFormatError<\/code> \ub97c \ub3cc\ub824\uc900\ub2e4).<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION\"><code>JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION<\/code><\/a><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \uc815\uc758\uac00 \uc21c\ud658 \uc815\uc758\uac00 \ub41c\ub2e4 (VM \ub294 <code>ClassCircularityError<\/code> \ub97c \ub3cc\ub824\uc900\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_FAILS_VERIFICATION\"><code>JVMTI_ERROR_FAILS_VERIFICATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4 \ubc14\uc774\ud2b8\uac00 \uac80\uc99d\uc5d0 \uc2e4\ud328\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NAMES_DONT_MATCH\"><code>JVMTI_ERROR_NAMES_DONT_MATCH<\/code><\/a><\/td>\n          <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc5d0\uc11c \uc815\uc758\ub41c \ud074\ub798\uc2a4\uba85\uc774, \uad6c\ud074\ub798\uc2a4 \uac1d\uccb4\ub0b4\uc758 \uc774\ub984\uacfc \ub2e4\ub974\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED<\/code><\/a><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\ub85c \uba54\uc18c\ub4dc\uc758 \ucd94\uac00\uac00 \ud544\uc694.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED<\/code><\/a><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc5d0 \uc758\ud574 \ud544\ub4dc\uac00 \ubcc0\uacbd\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED<\/code><\/a><\/td>\n          <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc9c1\uc811 \uc288\ud37c \ud074\ub798\uc2a4\uac00 \ub2e4\ub974\ub2e4, \ub610\ub294 \uc9c1\uc811 \uad6c\ud604\ub418\uace0 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub2e4\ub974\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED<\/code><\/a><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc5d0\uc11c\ub294 \uad6c\ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc73c\ub85c \uc120\uc5b8\ud55c \uba54\uc18c\ub4dc\ub97c \uc120\uc5b8\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED<\/code><\/a><\/td>\n          <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc218\uc2dd\uc790\uac00 \ub2e4\ub974\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED\"><code>JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED<\/code><\/a><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uac00 \uad6c\ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc218\uc2dd\uc790\uc640 \ub2e4\ub974\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#RedefineClasses.class_count\"><code>class_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#RedefineClasses.class_definitions\"><code>classes_definitions<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"object\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uac1d\uccb4<\/h2>\n\n<p>\uac1d\uccb4 \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#GetObjectSize\">\uac1d\uccb4 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#GetObjectHashCode\">\uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetObjectMonitorUsage\">\uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130\uc758 \uc774\uc6a9 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>\uac1d\uccb4\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n    <li><a href=\"#jvmtiMonitorUsage\"><code>jvmtiMonitorUsage<\/code><\/a> - \uac1d\uccb4 \ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9 \uc815\ubcf4<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetObjectSize\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uac1d\uccb4 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetObjectSize(jvmtiEnv* env,\n            jobject object,\n            jlong* size_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>object<\/code> \ub85c \uc9c0\uc815\ub41c \uac1d\uccb4\uc758 \uc0ac\uc774\uc988\ub97c,<code>size_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774 \uc0ac\uc774\uc988\ub294, \uc774 \uac1d\uccb4\uc5d0 \uc758\ud574 \uc18c\ube44\ub418\ub294 \uae30\uc5b5 \uc601\uc5ed\uc758 \uc6a9\ub7c9\uc758 \uadfc\uc0ac\uce58\uc774\uba70, \uad6c\ud604 \ub9c8\ub2e4 \ub2e4\ub985\ub2c8\ub2e4. \uc77c\ubd80 \ub610\ub294 \ubaa8\ub4e0 \uac1d\uccb4\uc758 \uc624\ubc84\ud5e4\ub4dc\ub97c \ud3ec\ud568\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \uad6c\ud604\ub0b4\uc5d0\uc11c\uc758 \ube44\uad50\uc5d0\ub294 \uc801\ud569\ud569\ub2c8\ub2e4\ub9cc, \uad6c\ud604\uac04\uc5d0\uc11c\uc758 \ube44\uad50\uc5d0\ub294 \uc801\ud569\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\uc0c1\uce58\ub294, JVM \ub97c 1 \ud68c \ud638\ucd9c\ud558\ub294 \ub3d9\uc548\uc73c\ub85c \ubcc0\uacbd\ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>154<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetObjectSize.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uac1d\uccb4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetObjectSize.size_ptr\">size_ptr<\/code><\/td>\n          <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectSize.object\"><code>object<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectSize.size_ptr\"><code>size_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetObjectHashCode\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetObjectHashCode(jvmtiEnv* env,\n            jobject object,\n            jint* hash_code_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>object<\/code> \ub85c \uc9c0\uc815\ub41c \uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\ub97c,<code>hash_code_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uac1d\uccb4 \ucc38\uc870\uc758 \ud574\uc2dc \ud14c\uc774\ube14\uc744 \uad00\ub9ac\ud558\uae30 \uc704\ud574\uc11c, \uc774 \ud574\uc2dc \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \uc77c\ubd80\uc758 \uad6c\ud604\uc5d0\uc11c\ub294, \ud37c\ud3ec\uba3c\uc2a4\uac00 \ud070\ud3ed\uc73c\ub85c \uc800\uac10 \ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0, \uc815\ubcf4\uc640 \uac1d\uccb4\uc758 \uad00\ub828\uc9c0\uc5b4\uc5d0\ub294,<a href=\"#Heap\">\ud0dc\uadf8<\/a>\ub97c \uc0ac\uc6a9\ud558\ub294 \ud3b8\uc774 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \ud2b9\uc815\uc758 \uac1d\uccb4\uc758 \uc9c0\uc18d \uae30\uac04\uc911 \ucb49, \uadf8 \uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\uac12\uac00 \uac19\uc740 \uac83\uc744 \ubcf4\uc99d\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>58<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetObjectHashCode.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uac1d\uccb4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetObjectHashCode.hash_code_ptr\">hash_code_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectHashCode.object\"><code>object<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectHashCode.hash_code_ptr\"><code>hash_code_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetObjectMonitorUsage\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130\uc758 \uc774\uc6a9 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jthread owner;\n    jint entry_count;\n    jint waiter_count;\n    jthread* waiters;\n    jint notify_waiter_count;\n    jthread* notify_waiters;\n} jvmtiMonitorUsage;<\/pre>\n\n<pre>\njvmtiError\nGetObjectMonitorUsage(jvmtiEnv* env,\n            jobject object,\n            jvmtiMonitorUsage* info_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#jvmtiMonitorUsage\"><code>jvmtiMonitorUsage<\/code><\/a> \uad6c\uc870\uccb4\uc758 \ud544\ub4dc\uc5d0, \ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9\uc5d0 \uad00\ud55c \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>59<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_monitor_info\"><code>can_get_monitor_info<\/code><\/a><\/td>\n            <td><a href=\"#GetObjectMonitorUsage\"><code>GetObjectMonitorUsage<\/code><\/a> \ub97c \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiMonitorUsage\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiMonitorUsage<\/code> - \uac1d\uccb4 \ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9 \uc815\ubcf4<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorUsage.owner\">owner<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc774 \ubaa8\ub2c8\ud130\ub97c \uc18c\uc720\ud558\uace0 \uc788\ub294 thread. \uc774 \ubaa8\ub2c8\ud130\uac00 \uc0ac\uc6a9\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorUsage.entry_count\">entry_count<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774 \ubaa8\ub2c8\ud130\ub97c \uc18c\uc720\ud558\ub294 thread\uac00 \ubaa8\ub2c8\ud130\ub97c \uc0ac\uc6a9\ud55c \ud68c\uc218<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorUsage.waiter_count\">waiter_count<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774 \ubaa8\ub2c8\ud130\ub97c \uc18c\uc720\ud558\ub294 \ucc28\ub840\ub97c \uae30\ub2e4\ub9ac\uace0 \uc788\ub294 thread\uc758 \uc218<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorUsage.waiters\">waiters<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> *<\/code><\/td>\n          <td><code>waiter_count<\/code> \ub300\uae30 thread<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorUsage.notify_waiter_count\">notify_waiter_count<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774 \ubaa8\ub2c8\ud130\ub85c\ubd80\ud130 \ud1b5\uc9c0\ub97c \ubc1b\ub294 \ub300\uae30 thread\uc758 \uc218<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiMonitorUsage.notify_waiters\">notify_waiters<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> *<\/code><\/td>\n          <td>\ud1b5\uc9c0\ub97c \uae30\ub2e4\ub9ac\uace0 \uc788\ub294 <code>notify_waiter_count<\/code> thread<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetObjectMonitorUsage.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uac1d\uccb4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetObjectMonitorUsage.info_ptr\">info_ptr<\/code><\/td>\n          <td><code><a href=\"#jvmtiMonitorUsage\">jvmtiMonitorUsage<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc9c0\uc815\ub41c \uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130 \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiMonitorUsage<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiMonitorUsage<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>jvmtiMonitorUsage<\/code> \uc758 <code>owner<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiMonitorUsage<\/code> \uc758 <code>waiters<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiMonitorUsage<\/code> \uc758 <code>waiters<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiMonitorUsage<\/code> \uc758 <code>notify_waiters<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiMonitorUsage<\/code> \uc758 <code>notify_waiters<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294, JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_monitor_info\"><code>can_get_monitor_info<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_OBJECT\"><code>JVMTI_ERROR_INVALID_OBJECT<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectMonitorUsage.object\"><code>object<\/code><\/a> \uac00 \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetObjectMonitorUsage.info_ptr\"><code>info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"fieldCategory\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\ud544\ub4dc<\/h2>\n\n<p>\ud544\ub4dc \ud568\uc218:<\/p>\n\n<ul>\n    <li><a href=\"#GetFieldName\">\ud544\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetFieldDeclaringClass\">\ud544\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#GetFieldModifiers\">\ud544\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#IsFieldSynthetic\">\ud569\uc131 \ud544\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetFieldName\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetFieldName(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field,\n            char** name_ptr,\n            char** signature_ptr,\n            char** generic_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetFieldName.klass\"><code>klass<\/code><\/a> \uc640 <a href=\"#GetFieldName.field\"><code>field<\/code><\/a> \ub85c \uc9c0\uc815\ub41c \ud544\ub4dc\uc5d0 \ub3c4\ucc29\ud574, \uc774\ub984\uc744 <a href=\"#GetFieldName.name_ptr\"><code>name_ptr<\/code><\/a> \ub85c \ub3cc\ub824\uc8fc\uc5b4, \uc2dc\uadf8\ub2c8\ucc60\ub97c <a href=\"#GetFieldName.signature_ptr\"><code>signature_ptr<\/code><\/a> \ub85c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud544\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60\ub294 JNI \uc2a4\ud399\uc73c\ub85c \uc815\uc758\ub418\uace0 \uc788\uc5b4<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc5d0\uc11c\ub294<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html#14152\">\ud544\ub4dc \uae30\uc220\uc790<\/a>\ub85c \ubd88\ub9ac\uace0 \uc788\uc2b5\ub2c8\ub2e4. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>60<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFieldName.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud544\ub4dc\uc758 \ud074\ub798\uc2a4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"GetFieldName.field\">field<\/code><\/td>\n         <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud544\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetFieldName.name_ptr\">name_ptr<\/code><\/td>\n           <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud544\ub4dc\uba85 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>name_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774\ub984\uc740 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFieldName.signature_ptr\">signature_ptr<\/code><\/td>\n         <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud544\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>signature_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc2dc\uadf8\ub2c8\ucc60\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetFieldName.generic_ptr\">generic_ptr<\/code><\/td>\n         <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud544\ub4dc\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \ud544\ub4dc\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60 \uc18d\uc131\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub294, \ub3cc\uc544\uc654\uc744 \ub54c <code>NULL<\/code> \ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>generic_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetFieldName.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#GetFieldName.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetFieldDeclaringClass\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetFieldDeclaringClass(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field,\n            jclass* declaring_class_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \uc640 <code>field<\/code> \ub85c \uc9c0\uc815\ub41c \ud544\ub4dc\uc5d0 \ub3c4\ucc29\ud574, \uadf8 \ud544\ub4dc\ub97c \uc815\uc758\ud558\uace0 \uc788\ub294 \ud074\ub798\uc2a4\ub97c <code>declaring_class_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc120\uc5b8\ud558\uace0 \uc788\ub294 \ud074\ub798\uc2a4\ub294,<code>klass<\/code>, \uc288\ud37c \ud074\ub798\uc2a4, \ub610\ub294 \uad6c\ud604\ub41c \uc778\ud130\ud398\uc774\uc2a4\uc758 \uba38\uc9c0\uc54a\uc544\uc778\uac00\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>61<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFieldDeclaringClass.klass\">klass<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFieldDeclaringClass.field\">field<\/code><\/td>\n           <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud544\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetFieldDeclaringClass.declaring_class_ptr\">declaring_class_ptr<\/code><\/td>\n           <td><code><a href=\"#jclass\">jclass<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc120\uc5b8\ud558\ub294 \ud074\ub798\uc2a4\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jclass<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jclass<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>declaring_class_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetFieldDeclaringClass.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#GetFieldDeclaringClass.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetFieldDeclaringClass.declaring_class_ptr\"><code>declaring_class_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetFieldModifiers\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud544\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetFieldModifiers(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field,\n            jint* modifiers_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \uc640 <code>field<\/code> \ub85c \uc9c0\uc815\ub41c \ud544\ub4dc\uc758 \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\ub97c,<code>modifiers_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html\">\u300cClass File Format\u300d<\/a>\uc758 \uc7a5\uc73c\ub85c \uc815\uc758\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>62<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFieldModifiers.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud074\ub798\uc2a4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetFieldModifiers.field\">field<\/code><\/td>\n            <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud544\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetFieldModifiers.modifiers_ptr\">modifiers_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#GetFieldModifiers.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#GetFieldModifiers.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetFieldModifiers.modifiers_ptr\"><code>modifiers_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsFieldSynthetic\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud569\uc131 \ud544\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsFieldSynthetic(jvmtiEnv* env,\n            jclass klass,\n            jfieldID field,\n            jboolean* is_synthetic_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>klass<\/code> \ubc0f <code>field<\/code> \ub85c \uc9c0\uc815\ub41c \ud544\ub4dc\uc5d0 \ub300\ud574,<code>is_synthetic_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \uadf8 \ud544\ub4dc\uac00 \ud569\uc131\uc77c\uc9c0 \uc5b4\ub5a8\uc9c0\ub97c \ub098\ud0c0\ub0b4\ub294 \uac12\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ud569\uc131 \ud544\ub4dc\ub294 \ucef4\ud30c\uc77c\ub7ec\uc5d0 \uc758\ud574 \uc0dd\uc131\ub429\ub2c8\ub2e4\ub9cc, \uc6d0\uc758 \uc6d0\uc2dc \ucf54\ub4dc\ub0b4\uc5d0\ub294 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>63<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_synthetic_attribute\"><code>can_get_synthetic_attribute<\/code><\/a><\/td>\n          <td>\ud569\uc131 \ud544\ub4dc \ub610\ub294 \ud569\uc131 \uba54\uc18c\ub4dc\uc77c\uc9c0 \uc5b4\ub5a8\uc9c0\ub97c \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\ub294 - <a href=\"#IsFieldSynthetic\"><code>IsFieldSynthetic<\/code><\/a> \uc640 <a href=\"#IsMethodSynthetic\"><code>IsMethodSynthetic<\/code><\/a><\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsFieldSynthetic.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud544\ub4dc\uc758 \ud074\ub798\uc2a4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"IsFieldSynthetic.field\">field<\/code><\/td>\n         <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uc870\ud68c\ud558\ub294 \ud544\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"IsFieldSynthetic.is_synthetic_ptr\">is_synthetic_ptr<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_synthetic_attribute\"><code>can_get_synthetic_attribute<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_CLASS\"><code>JVMTI_ERROR_INVALID_CLASS<\/code><\/a><\/td>\n            <td><a href=\"#IsFieldSynthetic.klass\"><code>klass<\/code><\/a> \uac00 \ud074\ub798\uc2a4 \uac1d\uccb4\uac00 \uc544\ub2cc\uc9c0, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uace0 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_FIELDID\"><code>JVMTI_ERROR_INVALID_FIELDID<\/code><\/a><\/td>\n            <td><a href=\"#IsFieldSynthetic.field\"><code>field<\/code><\/a> \uac00 jfieldID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsFieldSynthetic.is_synthetic_ptr\"><code>is_synthetic_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"method\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uba54\uc18c\ub4dc<\/h2>\n\n<p>\uba54\uc18c\ub4dc \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#GetMethodName\">\uba54\uc18c\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetMethodDeclaringClass\">\uba54\uc18c\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetMethodModifiers\">\uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetMaxLocals\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetArgumentsSize\">\uc778\uc218\uc758 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetLineNumberTable\">\ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#GetMethodLocation\">\uba54\uc18c\ub4dc\uc758 \ubc30\uce58 \uc704\uce58\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetLocalVariableTable\">\uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetBytecodes\">\ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#IsMethodNative\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n    <li><a href=\"#IsMethodSynthetic\">\ud569\uc131 \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n <li><a href=\"#IsMethodObsolete\">\ud3d0\uae30\ub41c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/li>\n    <li><a href=\"#SetNativeMethodPrefix\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/a><\/li>\n <li><a href=\"#SetNativeMethodPrefixes\">\ubcf5\uc218\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/a><\/li>\n<\/ul>\n\n<p>\uba54\uc18c\ub4dc\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n    <li><a href=\"#jvmtiLineNumberEntry\"><code>jvmtiLineNumberEntry<\/code><\/a> - \ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac<\/li>\n    <li><a href=\"#jvmtiLocalVariableEntry\"><code>jvmtiLocalVariableEntry<\/code><\/a> - \uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac<\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, \uc5b4\ub290 \uba54\uc18c\ub4dc (<a href=\"#jmethodID\"><code>jmethodID<\/code><\/a> \ub85c\uc11c \ud45c\ud604)\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uac70\ub098 \uba54\uc18c\ub4dc\uc758 \ucc98\ub9ac \ubc29\ubc95\uc744 \uc124\uc815\ud558\uac70\ub098 \ud569\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"obsoleteMethods\">\ud3d0\uc9c0 \uba54\uc18c\ub4dc<\/h4>\n\n<p>\ud568\uc218 <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ubc0f <a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ub97c \ud638\ucd9c\ud558\uba74(\uc790), \uc0c8\ub85c\uc6b4 \ubc84\uc83c\uc758 \uba54\uc18c\ub4dc\uac00 \uc778\uc2a4\ud1a8 \ub429\ub2c8\ub2e4. \uc6d0\uc758 \uba54\uc18c\ub4dc\uc640 \uc7ac\uc815\uc758\ud55c \uba54\uc18c\ub4dc\uac00 \ub3d9\ub4f1\uc73c\ub85c \uac04\uc8fc\ud574\uc9c0\ub294 \uac83\uc740, \ub2e4\uc74c\uacfc \uac19\uc740 \uacbd\uc6b0\uc785\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li>\uc30d\ubc29\uc758 \uba54\uc18c\ub4dc\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uac00 \uac19\ub2e4 (\uc815\uc218 \ud480\uc758 \uc778\ub371\uc2a4\ub97c \uc81c\uc678\ud558\ub2e4)<\/li>\n <li>\ucc38\uc870 \uc815\uc218\uac00 \ub3d9\uc77c\ud558\ub2e4<\/li>\n<\/ul>\n\n<p>\uc0c8\ub85c\uc6b4 \uba54\uc18c\ub4dc \ubc84\uc83c\uacfc \ub4f1\uac00\uac00 \uc544\ub2cc \uc6d0\uc758 \uba54\uc18c\ub4dc \ubc84\uc83c\uc740 \u300c\ud3d0\uc9c0\u300d\ub77c\uace0 \ubd88\ub824 \uc0c8\ub85c\uc6b4 \uba54\uc18c\ub4dc ID \ub97c \ud560\ub2f9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0, \uc6d0\uc758 \uba54\uc18c\ub4dc ID \ub294 \uc0c8\ub85c\uc6b4 \uba54\uc18c\ub4dc \ubc84\uc83c\uc744 \ucc38\uc870\ud558\uac8c \ub429\ub2c8\ub2e4. \ud3d0\uae30\ub41c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\ub97c \ud14c\uc2a4\ud2b8\ud558\ub824\uba74 ,<a href=\"#IsMethodObsolete\"><code>IsMethodObsolete<\/code><\/a> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetMethodName\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uba54\uc18c\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetMethodName(jvmtiEnv* env,\n            jmethodID method,\n            char** name_ptr,\n            char** signature_ptr,\n            char** generic_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uc758 \uc774\ub984\uc744 <code>name_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc8fc\uc5b4, \uba54\uc18c\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60\ub97c <code>signature_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uba54\uc18c\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60\ub294 JNI \uc2a4\ud399\uc73c\ub85c \uc815\uc758\ub418\uace0 \uc788\uc5b4<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc5d0\uc11c\ub294<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html#7035\">\uba54\uc18c\ub4dc \uae30\uc220\uc790<\/a>\ub85c \ubd88\ub9ac\uace0 \uc788\uc2b5\ub2c8\ub2e4. <i><\/i>\u300cJava \uc5b8\uc5b4 \uc2a4\ud399\u300d\uc5d0 \uc815\uc758\ub41c \uba54\uc18c\ub4dc\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc640\ub294 \ub2e4\ub978 \uc810\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>64<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodName.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodName.name_ptr\">name_ptr<\/code><\/td>\n          <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uba54\uc18c\ub4dc\uba85 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>name_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774\ub984\uc740 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodName.signature_ptr\">signature_ptr<\/code><\/td>\n            <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uba54\uc18c\ub4dc\uc2dc\uadf8\ub2c8\ucc60 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>signature_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc2dc\uadf8\ub2c8\ucc60\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"GetMethodName.generic_ptr\">generic_ptr<\/code><\/td>\n            <td><code>char **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uba54\uc18c\ub4dc\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uba54\uc18c\ub4dc\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60 \uc18d\uc131\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub294, \ub3cc\uc544\uc654\uc744 \ub54c <code>NULL<\/code> \ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>generic_ptr<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60\ub294 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodName.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetMethodDeclaringClass\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uba54\uc18c\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetMethodDeclaringClass(jvmtiEnv* env,\n            jmethodID method,\n            jclass* declaring_class_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\ub97c \uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\ub97c,<code>declaring_class_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>65<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodDeclaringClass.method\">method<\/code><\/td>\n            <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodDeclaringClass.declaring_class_ptr\">declaring_class_ptr<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc120\uc5b8\ud558\ub294 \ud074\ub798\uc2a4\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jclass<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jclass<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4. <code>declaring_class_ptr<\/code> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \uac1d\uccb4\ub294 JNI \ub85c\uceec \ucc38\uc870\uc774\uba70,<a href=\"#refs\">\uad00\ub9ac<\/a>\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodDeclaringClass.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodDeclaringClass.declaring_class_ptr\"><code>declaring_class_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetMethodModifiers\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetMethodModifiers(jvmtiEnv* env,\n            jmethodID method,\n            jint* modifiers_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uc758 \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\ub97c,<code>modifiers_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html\">\u300cClass File Format\u300d<\/a>\uc758 \uc7a5\uc73c\ub85c \uc815\uc758\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>66<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodModifiers.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodModifiers.modifiers_ptr\">modifiers_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc561\uc138\uc2a4 \ud50c\ub798\uadf8\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodModifiers.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodModifiers.modifiers_ptr\"><code>modifiers_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetMaxLocals\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetMaxLocals(jvmtiEnv* env,\n            jmethodID method,\n            jint* max_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\ub294 \uad6d\uc18c \ubcc0\uc218 (\ud638\ucd9c\uc2dc\uc5d0 \uba54\uc18c\ub4dc\uc5d0 \ud30c\ub77c\ubbf8\ud130\ub97c \uac74\ub124\uc8fc\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc0ac\uc6a9\ub418\ub294 \uad6d\uc18c \ubcc0\uc218\ub97c \ud3ec\ud568\ud55c\ub2e4)\uc758 \uc2ac\ub86f\uc218\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html#1546\">\u300cCode Attribute\u300d<\/a>\uc139\uc158\uc758 <code>max_locals<\/code> \uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>68<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMaxLocals.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMaxLocals.max_ptr\">max_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uad6d\uc18c \ubcc0\uc218\uc758 \uc2ac\ub86f\uc758 \ucd5c\ub300\uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetMaxLocals.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NATIVE_METHOD\"><code>JVMTI_ERROR_NATIVE_METHOD<\/code><\/a><\/td>\n            <td><a href=\"#GetMaxLocals.method\"><code>method<\/code><\/a> \ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetMaxLocals.max_ptr\"><code>max_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetArgumentsSize\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc778\uc218\uc758 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetArgumentsSize(jvmtiEnv* env,\n            jmethodID method,\n            jint* size_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uc758 \uc778\uc218\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\ub294 \uad6d\uc18c \ubcc0\uc218\uc758 \uc2ac\ub86f\uc218\ub97c,<code>max_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ub367\ubd99\uc5ec 2 \uc6cc\ub4dc\uc758 \uc778\uc218\ub294, \uc2ac\ub86f\uc744 2 \uac1c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>69<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetArgumentsSize.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetArgumentsSize.size_ptr\">size_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc778\uc218\uc758 \uc2ac\ub86f\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetArgumentsSize.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NATIVE_METHOD\"><code>JVMTI_ERROR_NATIVE_METHOD<\/code><\/a><\/td>\n            <td><a href=\"#GetArgumentsSize.method\"><code>method<\/code><\/a> \ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetArgumentsSize.size_ptr\"><code>size_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetLineNumberTable\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jlocation start_location;\n    jint line_number;\n} jvmtiLineNumberEntry;<\/pre>\n\n<pre>\njvmtiError\nGetLineNumberTable(jvmtiEnv* env,\n            jmethodID method,\n            jint* entry_count_ptr,\n            jvmtiLineNumberEntry** table_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uc5d0 \ub300\ud574, \uc18c\uc2a4\ud589 \ubc88\ud638\uc758 \uc5d4\ud2b8\ub9ac\ub85c\ubd80\ud130 \uc644\uc131\ub418\ub294 \ud14c\uc774\ube14\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ud14c\uc774\ube14\uc758 \uc0ac\uc774\uc988\ub294 <code>entry_count_ptr<\/code>, \ud14c\uc774\ube14 \uc790\uccb4\ub294 <code>table_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>70<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_line_numbers\"><code>can_get_line_numbers<\/code><\/a><\/td>\n            <td>\uba54\uc18c\ub4dc\uc758 \ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiLineNumberEntry\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiLineNumberEntry<\/code> - \ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLineNumberEntry.start_location\">start_location<\/code><\/td>\n           <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\ud589\uc744 \uac1c\uc2dc\ud558\ub294 <a href=\"#jlocation\"><code>jlocation<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLineNumberEntry.line_number\">line_number<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud589 \ubc88\ud638<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLineNumberTable.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLineNumberTable.entry_count_ptr\">entry_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud14c\uc774\ube14\ub0b4\uc758 \uc5d4\ud2b8\ub9ac\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetLineNumberTable.table_ptr\">table_ptr<\/code><\/td>\n           <td><code><a href=\"#jvmtiLineNumberEntry\">jvmtiLineNumberEntry<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \ud3ec\uc778\ud130\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiLineNumberEntry*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiLineNumberEntry*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*entry_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_line_numbers\"><code>can_get_line_numbers<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4\uc758 \uc815\ubcf4\uc5d0 \ud589 \ubc88\ud638\uac00 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetLineNumberTable.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NATIVE_METHOD\"><code>JVMTI_ERROR_NATIVE_METHOD<\/code><\/a><\/td>\n            <td><a href=\"#GetLineNumberTable.method\"><code>method<\/code><\/a> \ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLineNumberTable.entry_count_ptr\"><code>entry_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLineNumberTable.table_ptr\"><code>table__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetMethodLocation\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uba54\uc18c\ub4dc\uc758 \ubc30\uce58 \uc704\uce58\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetMethodLocation(jvmtiEnv* env,\n            jmethodID method,\n            jlocation* start_location_ptr,\n            jlocation* end_location_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uc5d0 \ub300\ud574, \uadf8 \uac1c\uc2dc \uc8fc\uc18c\uc640 \uc885\ub8cc \uc8fc\uc18c\ub97c <code>start_location_ptr<\/code> \uc640 <code>end_location_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc885\ub798\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc \uc778\ub371\uc2a4 schema\uc5d0\uc11c\ub294,<code>start_location_ptr<\/code> \ub294 \ud56d\uc0c1 \uc81c\ub85c\ub97c,<code>end_location_ptr<\/code> \ub294 \ud56d\uc0c1 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub85c\ubd80\ud130 1 \uc744 \ube80 \uac12\uc744 \ud3ec\uc778\ud2b8 \ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>71<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodLocation.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodLocation.start_location_ptr\">start_location_ptr<\/code><\/td>\n          <td><code><a href=\"#jlocation\">jlocation<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ucd5c\ucd08\uc758 \uc704\uce58\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc704\uce58 \uc815\ubcf4\ub97c \uc5bb\uc744 \uc218 \uc5c6\ub294 \uacbd\uc6b0\ub294 <code>-1<\/code> \uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc815\ubcf4\uc758 \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud574,<a href=\"#GetJLocationFormat\"><code>GetJLocationFormat<\/code><\/a> \uac00 <a href=\"#JVMTI_JLOCATION_JVMBCI\"><code>JVMTI_JLOCATION_JVMBCI<\/code><\/a> \ub97c \ub3cc\ub824\uc8fc\ub294 \uacbd\uc6b0, \ud56d\uc0c1 \uc81c\ub85c\uac00 \ub41c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlocation<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlocation<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetMethodLocation.end_location_ptr\">end_location_ptr<\/code><\/td>\n          <td><code><a href=\"#jlocation\">jlocation<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ub9c8\uc9c0\ub9c9 \uc704\uce58\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc704\uce58 \uc815\ubcf4\ub97c \uc5bb\uc744 \uc218 \uc5c6\ub294 \uacbd\uc6b0\ub294 <code>-1<\/code> \uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlocation<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlocation<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4 \uc815\ubcf4\uc5d0 \uba54\uc18c\ub4dc\uc758 \uc0ac\uc774\uc988\uac00 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodLocation.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NATIVE_METHOD\"><code>JVMTI_ERROR_NATIVE_METHOD<\/code><\/a><\/td>\n            <td><a href=\"#GetMethodLocation.method\"><code>method<\/code><\/a> \ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodLocation.start_location_ptr\"><code>start_location_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetMethodLocation.end_location_ptr\"><code>end_location_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetLocalVariableTable\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jlocation start_location;\n    jint length;\n    char* name;\n    char* signature;\n    char* generic_signature;\n    jint slot;\n} jvmtiLocalVariableEntry;<\/pre>\n\n<pre>\njvmtiError\nGetLocalVariableTable(jvmtiEnv* env,\n            jmethodID method,\n            jint* entry_count_ptr,\n            jvmtiLocalVariableEntry** table_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uad6d\uc18c \ubcc0\uc218\uc758 \uc815\ubcf4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>72<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiLocalVariableEntry\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiLocalVariableEntry<\/code> - \uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLocalVariableEntry.start_location\">start_location<\/code><\/td>\n            <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc774 \uad6d\uc18c \ubcc0\uc218\uac00 \ucc98\uc74c \uc720\ud6a8\ud558\uac8c \ub418\ub294 \ucf54\ub4dc \ubc30\uc5f4 \uc778\ub371\uc2a4 (\uc989, \uc774 \uad6d\uc18c \ubcc0\uc218\ub294 \uac70\uae30\uc11c \uac12\uc744 \uac00\uc9c0\uace0 \uc788\uc9c0 \uc54a\uc73c\uba74 \uc548 \ub41c\ub2e4).<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLocalVariableEntry.length\">length<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774 \uad6d\uc18c \ubcc0\uc218\uc758 \uc720\ud6a8 \ubd80\ubd84\uc758 \uae38\uc774. \uc774 \uad6d\uc18c \ubcc0\uc218\uac00 \uc720\ud6a8\ud558\ub2e4 \ub9c8\uc9c0\ub9c9 \ucf54\ub4dc \ubc30\uc5f4 \uc778\ub371\uc2a4\ub294,<code>start_location + length<\/code> \uac00 \ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLocalVariableEntry.name\">name<\/code><\/td>\n            <td><code>char *<\/code><\/td>\n          <td>\uad6d\uc18c \ubcc0\uc218\uba85. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLocalVariableEntry.signature\">signature<\/code><\/td>\n          <td><code>char *<\/code><\/td>\n          <td>\uad6d\uc18c \ubcc0\uc218\uc758 \ud615\ud0dc \uc2dc\uadf8\ub2c8\ucc60. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4. \uc774 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ud615\uc2dd\uc740,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ClassFile.doc.html#14152\">\u300cField Descriptors\u300d<\/a>\uc139\uc158\uc73c\ub85c \uc815\uc758\ub41c \ud615\uc2dd\uacfc \uac19\uac8c \ub41c\ub2e4. <i><\/i><\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLocalVariableEntry.generic_signature\">generic_signature<\/code><\/td>\n          <td><code>char *<\/code><\/td>\n          <td>\uad6d\uc18c \ubcc0\uc218\uc758 \ucd1d\uce6d \uc2dc\uadf8\ub2c8\ucc60. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4. \uad6d\uc18c \ubcc0\uc218\uac00 \ucd1d\uce6d\ud615\uc744 \uac00\uc9c0\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \uc774 \ud544\ub4dc\uc758 \uac12\uc740 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiLocalVariableEntry.slot\">slot<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uad6d\uc18c \ubcc0\uc218\uc758 \uc2ac\ub86f. <a href=\"#local\">\u300c\uad6d\uc18c \ubcc0\uc218\u300d<\/a>\ub97c \ucc38\uc870.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalVariableTable.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetLocalVariableTable.entry_count_ptr\">entry_count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud14c\uc774\ube14\ub0b4\uc758 \uc5d4\ud2b8\ub9ac\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetLocalVariableTable.table_ptr\">table_ptr<\/code><\/td>\n            <td><code><a href=\"#jvmtiLocalVariableEntry\">jvmtiLocalVariableEntry<\/a> **<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac\uc758 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiLocalVariableEntry*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiLocalVariableEntry*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*entry_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiLocalVariableEntry<\/code> \uc758 <code>name<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiLocalVariableEntry<\/code> \uc758 <code>signature<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiLocalVariableEntry<\/code> \uc758 <code>generic_signature<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_access_local_variables\"><code>can_access_local_variables<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ABSENT_INFORMATION\"><code>JVMTI_ERROR_ABSENT_INFORMATION<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4 \uc815\ubcf4\uc5d0 \uad6d\uc18c \ubcc0\uc218\uc758 \uc815\ubcf4\uac00 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc558\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalVariableTable.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NATIVE_METHOD\"><code>JVMTI_ERROR_NATIVE_METHOD<\/code><\/a><\/td>\n            <td><a href=\"#GetLocalVariableTable.method\"><code>method<\/code><\/a> \ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalVariableTable.entry_count_ptr\"><code>entry_count_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetLocalVariableTable.table_ptr\"><code>table__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetBytecodes\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetBytecodes(jvmtiEnv* env,\n            jmethodID method,\n            jint* bytecode_count_ptr,\n            unsigned char** bytecodes_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\ub97c \uad6c\ud604\ud558\ub294 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc218\ub294,<code>bytecode_count_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ubc14\uc774\ud2b8 \ucf54\ub4dc \uc790\uccb4\ub294,<code>bytecodes_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>75<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_bytecodes\"><code>can_get_bytecodes<\/code><\/a><\/td>\n          <td>\uba54\uc18c\ub4dc <a href=\"#GetBytecodes\"><code>GetBytecodes<\/code><\/a> \uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetBytecodes.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetBytecodes.bytecode_count_ptr\">bytecode_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \ubc30\uc5f4\uc758 \uae38\uc774\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetBytecodes.bytecodes_ptr\">bytecodes_ptr<\/code><\/td>\n         <td><code>unsigned char**<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubc14\uc774\ud2b8 \ucf54\ub4dc \ubc30\uc5f4\uc5d0\uc758 \ud3ec\uc778\ud130\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>unsigned char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>unsigned char*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*bytecode_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_bytecodes\"><code>can_get_bytecodes<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#GetBytecodes.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NATIVE_METHOD\"><code>JVMTI_ERROR_NATIVE_METHOD<\/code><\/a><\/td>\n            <td><a href=\"#GetBytecodes.method\"><code>method<\/code><\/a> \ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetBytecodes.bytecode_count_ptr\"><code>bytecode_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetBytecodes.bytecodes_ptr\"><code>bytecode_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsMethodNative\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsMethodNative(jvmtiEnv* env,\n            jmethodID method,\n            jboolean* is_native_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uac00 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\ub97c \ub098\ud0c0\ub0b4\ub294 \uac12\uc744,<code>is_native_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>76<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsMethodNative.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsMethodNative.is_native_ptr\">is_native_ptr<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#IsMethodNative.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsMethodNative.is_native_ptr\"><code>is_native_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsMethodSynthetic\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud569\uc131 \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsMethodSynthetic(jvmtiEnv* env,\n            jmethodID method,\n            jboolean* is_synthetic_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>method<\/code> \ub85c \uc9c0\uc815\ub41c \uba54\uc18c\ub4dc\uac00 \ud569\uc131 \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\ub97c \ub098\ud0c0\ub0b4\ub294 \uac12\uc744,<code>is_synthetic_ptr<\/code> \ub97c \uac1c\uc785\uc2dc\ucf1c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ud569\uc131 \uba54\uc18c\ub4dc\ub294, \ucef4\ud30c\uc77c\ub7ec\uc5d0 \uc758\ud574 \uc0dd\uc131\ub429\ub2c8\ub2e4\ub9cc, \uc6d0\uc758 \uc6d0\uc2dc \ucf54\ub4dc\ub0b4\uc5d0\ub294 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>77<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_synthetic_attribute\"><code>can_get_synthetic_attribute<\/code><\/a><\/td>\n          <td>\ud569\uc131 \ud544\ub4dc \ub610\ub294 \ud569\uc131 \uba54\uc18c\ub4dc\uc77c\uc9c0 \uc5b4\ub5a8\uc9c0\ub97c \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\ub294 - <a href=\"#IsFieldSynthetic\"><code>IsFieldSynthetic<\/code><\/a> \uc640 <a href=\"#IsMethodSynthetic\"><code>IsMethodSynthetic<\/code><\/a><\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsMethodSynthetic.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsMethodSynthetic.is_synthetic_ptr\">is_synthetic_ptr<\/code><\/td>\n          <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_synthetic_attribute\"><code>can_get_synthetic_attribute<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#IsMethodSynthetic.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsMethodSynthetic.is_synthetic_ptr\"><code>is_synthetic_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"IsMethodObsolete\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud3d0\uae30\ub41c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nIsMethodObsolete(jvmtiEnv* env,\n            jmethodID method,\n            jboolean* is_obsolete_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uba54\uc18c\ub4dc ID \uac00<a href=\"#obsoleteMethods\">\ud3d0\uc9c0 <\/a>\uba54\uc18c\ub4dc \ubc84\uc83c\uc744 \ucc38\uc870\ud558\uace0 \uc788\uc744\uc9c0 \uc5b4\ub5a8\uc9c0\ub97c \ud310\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>91<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"IsMethodObsolete.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 \uba54\uc18c\ub4dc ID.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"IsMethodObsolete.is_obsolete_ptr\">is_obsolete_ptr<\/code><\/td>\n         <td><code><a href=\"#jboolean\">jboolean<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 \ud568\uc218\uc758 boolean \ud615\uc758 \uacb0\uacfc\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jboolean<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jboolean<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_METHODID\"><code>JVMTI_ERROR_INVALID_METHODID<\/code><\/a><\/td>\n          <td><a href=\"#IsMethodObsolete.method\"><code>method<\/code><\/a> \uac00 jmethodID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#IsMethodObsolete.is_obsolete_ptr\"><code>is_obsolete_ptr<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetNativeMethodPrefix\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetNativeMethodPrefix(jvmtiEnv* env,\n            const char* prefix)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\ub294, \uc774\ub984\uc5d0 \uc811\ub450\uc0ac\ub97c \uc801\uc6a9\ud574 \uc7ac\uc2dc\ud589\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774) \ud558\ub294 \uac83\uc73c\ub85c\uc368, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \ud574\uacb0\uc758 \uc5d0\ub7ec \ucc98\ub9ac\ub97c \ubcc0\uacbd\ud569\ub2c8\ub2e4. \uc774\uac83\uc744 <a href=\"#ClassFileLoadHook\">ClassFileLoadHook \uc774\ubca4\ud2b8<\/a>\uc640 \uc870\ud569\ud574 \uc0ac\uc6a9\ud558\uba74, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758<a href=\"#bci\">\uacc4\uce21<\/a>\uc774 \uac00\ub2a5\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub294 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \uac00\uc9c0\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0, \uc9c1\uc811 \uacc4\uce21 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uacc4\uce21 \uac00\ub2a5\ud55c \ub124\uc774\ud2f0\ube0c\uac00 \uc544\ub2cc \uba54\uc18c\ub4dc\ub85c \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ub7a9 \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ub2e4\uc74c\uacfc \uac19\uc740 \uba54\uc18c\ub4dc\uac00 \uc788\ub2e4\uace0 \ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nnative boolean foo(int x);<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\uac83\uc774 \ub2e4\uc74c\uacfc \uac19\uc774 \ub418\ub3c4\ub85d(\ub4ef\uc774), (ClassFileLoadHook \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud574) \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \ubcc0\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nboolean foo(int x) {\n  <i>... record entry to foo ...<\/i>\n  return wrapped_foo(x);\n}\n\nnative boolean wrapped_foo(int x);<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5ec\uae30\uc11c, foo \ub294 \uc2e4\uc81c\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \ub798\ud37c\ub85c, \uc811\ub450\uc0ac \u300cwrapped_\u300d\uac00 \ubd80\uac00\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc, \u300cwrapped_\u300d\ub294 \uae30\uc874\uc758 \uba54\uc18c\ub4dc\uc758 \uc774\ub984\uc758 \uc77c\ubd80\ub85c\uc11c \uc0ac\uc6a9\ub418\uace0 \uc788\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc811\ub450\uc0ac\ub85c\uc11c\ub294 \uc88b\uc740 \uc120\ud0dd\uc0ac\ud56d\uc774 \uc544\ub2d9\ub2c8\ub2e4. \u300c$$$MyAgentWrapped$$$_\u300d\uc640 \uac19\uc740 \uc811\ub450\uc0ac \ucabd\uc774 \uc801\uc808\ud569\ub2c8\ub2e4\ub9cc, \uadf8\ub807\ub2e4\uba74 \uc774 \uc608\uac00 \uc77d\uae30 \uc5b4\ub824\uc6cc\uc838 \ubc84\ub9bd\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ub798\ud37c\ub97c \uc0ac\uc6a9\ud558\uba74, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \ud638\ucd9c\uc2dc\uc5d0 \ub370\uc774\ud130\ub97c \uc218\uc9d1\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0\ub370 \uadf8 \uacbd\uc6b0, \uc774 \ub7a9\uc774 \ub05d\ub09c \uba54\uc18c\ub4dc\ub97c \ub124\uc774\ud2f0\ube0c \uad6c\ud604\uc5d0 \ub9c1\ud06c\ud560 \ub54c\uc5d0 \ubb38\uc81c\uac00 \uc0dd\uae41\ub2c8\ub2e4. \uc989, \uba54\uc18c\ub4dc <code>wrapped_foo<\/code> \ub294, \ub2e4\uc74c\uacfc \uac19\uc740 \ub124\uc774\ud2f0\ube0c \uad6c\ud604 <code>foo<\/code> \uc5d0 \ud574\uacb0\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nJava_somePackage_someClass_foo(JNIEnv* env, jint x)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uc811\ub450\uc0ac\ub97c \uc9c0\uc815\ud574, \uc801\uc808\ud55c \ud574\uacb0\uc744 \ud558\ub3c4\ub85d(\ub4ef\uc774) \ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uad6c\uccb4\uc801\uc73c\ub85c\ub294, \ud45c\uc900\uc758 \ud574\uacb0\uc774 \uc2e4\ud328\ud558\uba74(\uc790), \uc811\ub450\uc0ac\ub97c \uace0\ub824\ud574 \ud574\uacb0\uc774 \uc7ac\uc2dc\ud589\ub429\ub2c8\ub2e4. \ud574\uacb0\uc5d0\ub294 2 \uac1c\uc758 \ubc29\ubc95\uc774 \uc788\uc2b5\ub2c8\ub2e4. JNI \ud568\uc218 <code>RegisterNatives<\/code> \ub97c \uc0ac\uc6a9\ud55c \uba85\uc2dc\uc801\uc778 \ud574\uacb0\uacfc \uc77c\ubc18\uc801\uc73c\ub85c\uc758 \uc790\ub3d9 \ud574\uacb0\uc785\ub2c8\ub2e4. <code>RegisterNatives<\/code> \uc758 \uacbd\uc6b0, VM \ub294 \ub2e4\uc74c\uc774 \uad00\ub828\uc9d3\uace0\ub97c \uc2dc\ub3c4\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nmethod(foo) -&gt; nativeImplementation(foo)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\uac83\uc5d0 \uc2e4\ud328\ud558\uba74(\uc790), \uc9c0\uc815\ub41c \uc811\ub450\uc0ac\ub97c \uba54\uc18c\ub4dc\uba85\uc758 \uc120\ub450\uc5d0 \ucd94\uac00\ud574 \ud574\uacb0\uc774 \uc7ac\uc2dc\ud589\ub418\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 \uc62c\ubc14\ub978 \ud574\uacb0\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nmethod(wrapped_foo) -&gt; nativeImplementation(foo)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc790\ub3d9 \ud574\uacb0\uc758 \uacbd\uc6b0, VM \ub294 \ub2e4\uc74c\uc744 \uc2dc\ub3c4\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nmethod(wrapped_foo) -&gt; nativeImplementation(wrapped_foo)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\uac83\uc5d0 \uc2e4\ud328\ud558\uba74(\uc790), \uc9c0\uc815\ub41c \uc811\ub450\uc0ac\ub97c \uad6c\ud604\uba85\uc73c\ub85c\ubd80\ud130 \uc0ad\uc81c\ud574 \ud574\uacb0\uc774 \uc7ac\uc2dc\ud589\ub418\uc5b4 \ub2e4\uc74c\uc758 \uc62c\ubc14\ub978 \ud574\uacb0\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nmethod(wrapped_foo) -&gt; nativeImplementation(foo)<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<p>\uc811\ub450\uc0ac\uac00 \uc0ac\uc6a9\ub418\ub294 \uac83\uc740 \ud45c\uc900\uc758 \ud574\uacb0\uc774 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0\ub9cc\uc774\ubbc0\ub85c, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \ub7a9\uc740 \uc120\ud0dd\uc801\uc73c\ub85c \uc2e4\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac01 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740 \ub3c5\ub9bd\ud558\uace0 \uc788\uc5b4, \uac01\uac01\uc774 \ub3c5\uc790\uc801\uc778 \ubc14\uc774\ud2b8 \ucf54\ub4dc \ubcc0\ud658\uc744 \uc2e4\uc2dc\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \ubcf5\uc218\uc758 \uce35\uc758 \ub798\ud37c\uac00 \uc801\uc6a9\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ud658\uacbd \ub9c8\ub2e4 \ub2e4\ub978 \uc811\ub450\uc0ac\uac00 \ud544\uc694\ud558\uac8c \ub429\ub2c8\ub2e4. \ubcc0\ud658\uc740 \ucc28\ub840\ub85c \uc801\uc6a9\ub418\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc811\ub450\uc0ac\ub97c \uc801\uc6a9\ud558\ub294 \uacbd\uc6b0, \uc811\ub450\uc0ac\ub294 \ubcc0\ud658\uacfc \uac19\uc740 \ucc28\ub840\ub85c \uc801\uc6a9\ub429\ub2c8\ub2e4. \ubcc0\ud658\uc758 \uc801\uc6a9\uc21c\uc11c\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694. \uc989, 3 \uac1c\uc758 \ud658\uacbd\uc774 \ub798\ud37c\ub97c \uc801\uc6a9\ud588\uc744 \uacbd\uc6b0,<code>foo<\/code> \ub294 <code>$env3_$env2_$env1_foo<\/code> \uc640 \uac19\uc774 \ub429\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \uc608\ub97c \ub4e4\uc5b4 2 \ubc88\uc9f8\uc758 \ud658\uacbd\uc774 <code>foo<\/code> \uc5d0 \ub798\ud37c\ub97c \uc801\uc6a9\ud558\uc9c0 \uc54a\uc558\ub358 \uacbd\uc6b0\ub294, \ub2e8\uc9c0 <code>$env3_$env1_foo<\/code> \uac00 \ub429\ub2c8\ub2e4. \uc811\ub450\uc0ac\uc758 \uc21c\uc11c\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uacb0\uc815\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774) \ud558\uae30 \uc704\ud55c(\ud574), \ub3c4\uc911\uc758 \uc811\ub450\uc0ac\ub294, \uadf8 \ub124\uc774\ud2f0\ube0c\uac00 \uc544\ub2cc \ub798\ud37c\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0\uc5d0\uac8c\ub9cc \uc801\uc6a9\ub429\ub2c8\ub2e4. \uc989 \uc774 \uc608\uc5d0\uc11c\ub294,<code>$env1_foo<\/code> \uac00 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \uc544\ub2c8\uc5b4\ub3c4,<code>$env1_foo<\/code> \uac00 \uc874\uc7ac\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0),<code>$env1_<\/code> \uc811\ub450\uc0ac\uac00 \uc801\uc6a9\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc811\ub450\uc0ac\ub294 \ud574\uacb0\uc2dc\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4\ub9cc, \uadf8 \ud574\uacb0\uc740 \uc5b8\uc81c\ub77c\ub3c4 \uc9c0\uc5f0 \ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \uc811\ub450\uc0ac\ub294, \ub300\uc751\ud558\ub294 \uc811\ub450\uc0ac \ucca8\ubd80\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \uc874\uc7ac\ud558\uace0 \uc788\ub294 \ud55c, \uc124\uc815\ub41c \ucc44\ub85c \ud574 \ub458 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>73<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_set_native_method_prefix\"><code>can_set_native_method_prefix<\/code><\/a><\/td>\n            <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ud574\uacb0\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \uc801\uc6a9\ud574\uc57c \ud560 \uc811\ub450\uc0ac\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \ubc0f <a href=\"#SetNativeMethodPrefixes\"><code>SetNativeMethodPrefixes<\/code><\/a><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetNativeMethodPrefix.prefix\">prefix<\/code><\/td>\n          <td><code>const char *<\/code><\/td>\n            <td>\uc801\uc6a9\ud558\ub294 \uc811\ub450\uc0ac. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4. <code>prefix<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774 \ud658\uacbd\uc758 \uae30\uc874\uc758 \uc811\ub450\uc0ac\uac00 \uc0ad\uc81c\ub41c\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_set_native_method_prefix\"><code>can_set_native_method_prefix<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetNativeMethodPrefixes\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubcf5\uc218\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetNativeMethodPrefixes(jvmtiEnv* env,\n            jint prefix_count,\n            char** prefixes)<\/pre>\n<\/blockquote>\n\n<p>\uc77c\ubc18\uc801\uc73c\ub85c\uc758 \uc5d0\uc774\uc804\ud2b8\uc758 \uacbd\uc6b0,<a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \uac00, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \uc811\ub450\uc0ac \uc124\uc815\uc5d0 \ud544\uc694\ud558\uac8c \ub418\ub294 \ubaa8\ub4e0 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ubcf5\uc218\uc758 \ub3c5\ub9bd\ud55c \ud074\ub798\uc2a4 \ud30c\uc77c \ubcc0\ud658\uc744 \uc2e4\ud589\ud558\ub294 \uba54\ud0c0\uc5d0\uc774\uc820\ud2b8 (\ub2e4\ub978 \uce35\uc758 \uc5d0\uc774\uc804\ud2b8\uc758 \ud504\ub85d\uc2dc\ub85c\uc11c\uc758 \uc5d0\uc774\uc804\ud2b8\ub4f1)\uc758 \uacbd\uc6b0, \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uac01 \ubcc0\ud658\uc5d0 \ub3c5\uc790\uc801\uc778 \uc811\ub450\uc0ac\ub97c \ud560\ub2f9\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc811\ub450\uc0ac\ub294, \uc9c0\uc815\ub41c \ucc28\ub840\ub85c \uc801\uc6a9\ub418\uc5b4<a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \ub85c \uc124\uba85\ud55c, \ubcf5\uc218\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc73c\ub85c\ubd80\ud130\uc758 \uc811\ub450\uc0ac\uc758 \uc801\uc6a9 \ubc29\ubc95\uacfc \uac19\uc740 \ubc29\ubc95\uc73c\ub85c \ucc98\ub9ac\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\uc804\uc758 \uc811\ub450\uc0ac\ub294 \ubaa8\ub450 \uce58\ud658\ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c,<a href=\"#SetNativeMethodPrefixes.prefix_count\"><code>prefix_count<\/code><\/a> \uc5d0 <code>0<\/code> \uc744 \uc9c0\uc815\ud574 \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud558\uba74(\uc790), \uc774 \ud658\uacbd\uc758 \uc811\ub450\uc0ac \uae30\ub2a5\uc774 \ubb34\ud6a8\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \uacf3\uc758 \ud568\uc218\uac00, \uc811\ub450\uc0ac\ub97c \uc124\uc815\ud558\uae30 \uc704\ud55c 2 \uac1c\uc758 \ubc29\ubc95\uc785\ub2c8\ub2e4. 1 \uac1c\uc758 \uc811\ub450\uc0ac\ub97c \uc9c0\uc815\ud574 <code>SetNativeMethodPrefix<\/code> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc740,<a href=\"#SetNativeMethodPrefixes.prefix_count\"><code>prefix_count<\/code><\/a> \uc5d0 <code>1<\/code> \uc744 \uc9c0\uc815\ud574 \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>NULL<\/code> \ub97c \uc9c0\uc815\ud574 <code>SetNativeMethodPrefix<\/code> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc740,<a href=\"#SetNativeMethodPrefixes.prefix_count\"><code>prefix_count<\/code><\/a> \uc5d0 <code>0<\/code> \uc744 \uc9c0\uc815\ud574 \uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>74<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_set_native_method_prefix\"><code>can_set_native_method_prefix<\/code><\/a><\/td>\n            <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ud574\uacb0\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \uc801\uc6a9\ud574\uc57c \ud560 \uc811\ub450\uc0ac\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \ubc0f <a href=\"#SetNativeMethodPrefixes\"><code>SetNativeMethodPrefixes<\/code><\/a><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetNativeMethodPrefixes.prefix_count\">prefix_count<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc801\uc6a9\ud558\ub294 \uc811\ub450\uc0ac\uc758 \uc218.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetNativeMethodPrefixes.prefixes\">prefixes<\/code><\/td>\n            <td><code>char**<\/code><\/td>\n          <td>\uc774 \ud658\uacbd\uc5d0\uc11c \uc801\uc6a9\ud558\ub294 \uc811\ub450\uc0ac. \uac01\uac01 <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n         <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_set_native_method_prefix\"><code>can_set_native_method_prefix<\/code><\/a> \uc744 \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetNativeMethodPrefixes.prefix_count\"><code>prefix_count<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#SetNativeMethodPrefixes.prefixes\"><code>prefixes<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"RawMonitors\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">raw \ubaa8\ub2c8\ud130<\/h2>\n\n<p>raw \ubaa8\ub2c8\ud130 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#CreateRawMonitor\">raw \ubaa8\ub2c8\ud130\uc758 \uc791\uc131<\/a><\/li>\n  <li><a href=\"#DestroyRawMonitor\">raw \ubaa8\ub2c8\ud130\uc758 \ud30c\uae30<\/a><\/li>\n <li><a href=\"#RawMonitorEnter\">raw \ubaa8\ub2c8\ud130\uc758 \uac1c\uc2dc<\/a><\/li>\n   <li><a href=\"#RawMonitorExit\">raw \ubaa8\ub2c8\ud130\uc758 \uc885\ub8cc<\/a><\/li>\n    <li><a href=\"#RawMonitorWait\">raw \ubaa8\ub2c8\ud130\uc758 \ub300\uae30<\/a><\/li>\n    <li><a href=\"#RawMonitorNotify\">raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0<\/a><\/li>\n  <li><a href=\"#RawMonitorNotifyAll\">raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0 (\ubaa8\ub450)<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"CreateRawMonitor\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \uc791\uc131<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nCreateRawMonitor(jvmtiEnv* env,\n            const char* name,\n            jrawMonitorID* monitor_ptr)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>31<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"CreateRawMonitor.name\">name<\/code><\/td>\n           <td><code>const char*<\/code><\/td>\n         <td>\ubaa8\ub2c8\ud130\ub97c \uc2dd\ubcc4\ud558\ub294 \uc774\ub984. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"CreateRawMonitor.monitor_ptr\">monitor_ptr<\/code><\/td>\n         <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc791\uc131\ub41c \ubaa8\ub2c8\ud130\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jrawMonitorID<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jrawMonitorID<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#CreateRawMonitor.name\"><code>name<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#CreateRawMonitor.monitor_ptr\"><code>monitor_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"DestroyRawMonitor\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \ud30c\uae30<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nDestroyRawMonitor(jvmtiEnv* env,\n            jrawMonitorID monitor)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\ub97c \ud30c\uae30\ud569\ub2c8\ub2e4. \ud30c\uae30\ub418\ub294 \ubaa8\ub2c8\ud130\uac00 \uc774 thread\uc5d0 \uc758\ud574 \uc785\ub825\ub418\uc5c8\uc744 \uacbd\uc6b0, \ud30c\uae30\ub418\uae30 \uc804\uc5d0 \uc885\ub8cc\ud569\ub2c8\ub2e4. \ud30c\uae30\ub418\ub294 \ubaa8\ub2c8\ud130\uac00 \ub2e4\ub978 thread\uc5d0 \uc758\ud574 \uc785\ub825\ub418\uc5c8\uc744 \uacbd\uc6b0, \uc5d0\ub7ec\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc838 \ubaa8\ub2c8\ud130\uc758 \ud30c\uae30\ub294 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>32<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"DestroyRawMonitor.monitor\">monitor<\/code><\/td>\n            <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_MONITOR_OWNER\"><code>JVMTI_ERROR_NOT_MONITOR_OWNER<\/code><\/a><\/td>\n            <td>\ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc790\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_MONITOR\"><code>JVMTI_ERROR_INVALID_MONITOR<\/code><\/a><\/td>\n            <td><a href=\"#DestroyRawMonitor.monitor\"><code>monitor<\/code><\/a> \uac00 jrawMonitorID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RawMonitorEnter\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \uac1c\uc2dc<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRawMonitorEnter(jvmtiEnv* env,\n            jrawMonitorID monitor)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\uc758 \ubc30\ud0c0\uc801 \uc18c\uc720\uad8c\uc744 \uac00\uc838\uc635\ub2c8\ub2e4. \uac19\uc740 thread\ub85c \uc5ec\ub7ec \ucc28\ub840 \ubaa8\ub2c8\ud130\ub97c \uc785\ub825\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. thread\ub294, \ubaa8\ub2c8\ud130\ub97c \uc785\ub825 \ud68c\uc218\ubd84\ub9cc\ud07c<a href=\"#RawMonitorExit\">\uc885\ub8cc<\/a>\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub2c8\ud130\uac00 <code>OnLoad<\/code> (\uc811\uc18d\ub41c thread\uac00 \uc0dd\uc131\ub418\uae30 \uc804)\uc758 \ub2e8\uacc4\uc5d0\uc11c \uc785\ub825\ub418\uc5b4 \uc811\uc18d\ub41c thread\uac00 \uc0dd\uc131\ub41c \uc2dc\uc810\uc5d0\uc11c \uc885\ub8cc\ud558\uace0 \uc788\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \uc785\ub825\uc740 \uba54\uc778 thread\ub85c \ud589\ud574\uc84c\ub2e4\uace0 \uc778\uc2dd\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>33<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RawMonitorEnter.monitor\">monitor<\/code><\/td>\n          <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_MONITOR\"><code>JVMTI_ERROR_INVALID_MONITOR<\/code><\/a><\/td>\n            <td><a href=\"#RawMonitorEnter.monitor\"><code>monitor<\/code><\/a> \uac00 jrawMonitorID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RawMonitorExit\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \uc885\ub8cc<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRawMonitorExit(jvmtiEnv* env,\n            jrawMonitorID monitor)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\uc758 \ubc30\ud0c0\uc801 \uc18c\uc720\uad8c\uc744 \ud574\uc81c\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>34<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RawMonitorExit.monitor\">monitor<\/code><\/td>\n           <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_MONITOR_OWNER\"><code>JVMTI_ERROR_NOT_MONITOR_OWNER<\/code><\/a><\/td>\n            <td>\ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc790\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_MONITOR\"><code>JVMTI_ERROR_INVALID_MONITOR<\/code><\/a><\/td>\n            <td><a href=\"#RawMonitorExit.monitor\"><code>monitor<\/code><\/a> \uac00 jrawMonitorID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RawMonitorWait\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \ub300\uae30<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRawMonitorWait(jvmtiEnv* env,\n            jrawMonitorID monitor,\n            jlong millis)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0\ub97c \uae30\ub2e4\ub9bd\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\ub978 thread\uac00 \uc9c0\uc815\ub41c raw \ubaa8\ub2c8\ud130\uc758 <a href=\"#RawMonitorNotify\"><code>RawMonitorNotify<\/code><\/a> \ub610\ub294 <a href=\"#RawMonitorNotifyAll\"><code>RawMonitorNotifyAll<\/code><\/a> \ub97c \ud638\ucd9c\ud558\ub294\uc9c0, \uc9c0\uc815\ub41c <a href=\"#RawMonitorWait.millis\">timeout<\/a> \uac00 \uacbd\uacfc\ud560 \ub54c\uae4c\uc9c0, \ud604\uc7ac\uc758 thread\ub97c \ub300\uae30\uc2dc\ud0b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>35<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RawMonitorWait.monitor\">monitor<\/code><\/td>\n           <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"RawMonitorWait.millis\">millis<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ud0c0\uc784 \uc544\uc6c3 (\ubc00\ub9ac \uc138\ucee8\ub4dc \ub2e8\uc704). \ud0c0\uc784 \uc544\uc6c3\uc774 \uc81c\ub85c\uc758 \uacbd\uc6b0, \uc2e4\uc81c\uc758 \uc2dc\uac04\uc740 \uace0\ub824\ub418\uc9c0 \uc54a\uace0, thread\ub294 \ub2e8\uc9c0 \ud1b5\uc9c0\ub420 \ub54c\uae4c\uc9c0 \ub300\uae30\ud55c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_MONITOR_OWNER\"><code>JVMTI_ERROR_NOT_MONITOR_OWNER<\/code><\/a><\/td>\n            <td>\ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc790\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INTERRUPT\"><code>JVMTI_ERROR_INTERRUPT<\/code><\/a><\/td>\n            <td>\ub300\uae30\uc911\uc5d0 \uc778\ud130\ub7fd\ud2b8\uac00 \ubc1c\uc0dd\ud588\uae30 \ub54c\ubb38\uc5d0, \uc7ac\uc2dc\ud589\uc758 \ud544\uc694 \uc788\uc5b4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_MONITOR\"><code>JVMTI_ERROR_INVALID_MONITOR<\/code><\/a><\/td>\n            <td><a href=\"#RawMonitorWait.monitor\"><code>monitor<\/code><\/a> \uac00 jrawMonitorID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RawMonitorNotify\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRawMonitorNotify(jvmtiEnv* env,\n            jrawMonitorID monitor)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\ub97c \ub300\uae30\uc911\uc758 1 \uac1c\uc758 thread\uc5d0 \ud1b5\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>36<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RawMonitorNotify.monitor\">monitor<\/code><\/td>\n         <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_MONITOR_OWNER\"><code>JVMTI_ERROR_NOT_MONITOR_OWNER<\/code><\/a><\/td>\n            <td>\ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc790\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_MONITOR\"><code>JVMTI_ERROR_INVALID_MONITOR<\/code><\/a><\/td>\n            <td><a href=\"#RawMonitorNotify.monitor\"><code>monitor<\/code><\/a> \uac00 jrawMonitorID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RawMonitorNotifyAll\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0 (\ubaa8\ub450)<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRawMonitorNotifyAll(jvmtiEnv* env,\n            jrawMonitorID monitor)<\/pre>\n<\/blockquote>\n\n<p>raw \ubaa8\ub2c8\ud130\ub97c \ub300\uae30\uc911\uc758 \ubaa8\ub4e0 thread\uc5d0 \ud1b5\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>37<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RawMonitorNotifyAll.monitor\">monitor<\/code><\/td>\n          <td><code><a href=\"#jrawMonitorID\">jrawMonitorID<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_MONITOR_OWNER\"><code>JVMTI_ERROR_NOT_MONITOR_OWNER<\/code><\/a><\/td>\n            <td>\ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc790\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_MONITOR\"><code>JVMTI_ERROR_INVALID_MONITOR<\/code><\/a><\/td>\n            <td><a href=\"#RawMonitorNotifyAll.monitor\"><code>monitor<\/code><\/a> \uac00 jrawMonitorID \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jniIntercept\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">JNI \ud568\uc218\uc758 \ucc28\ub2e8<\/h2>\n\n<p>JNI \ud568\uc218\uc758 \ucc28\ub2e8 \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#SetJNIFunctionTable\">JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \uc124\uc815<\/a><\/li>\n  <li><a href=\"#GetJNIFunctionTable\">JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>Java Native Interface (JNI) \ud568\uc218 \ud14c\uc774\ube14\uc758 \uc870\uc791\uc5d0 \uc758\ud574, JNI \ud568\uc218 \ud638\ucd9c\uc758 \ucc28\ub2e8 \ubc0f \uc7ac\ubc1c\uc1a1\uc2e0\uc758 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \u300cJava Native Interface \uc2a4\ud399\u300d\uc758<a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/guide\/jni\/spec\/functions.html\">\u300cJNI \ud568\uc218\u300d<\/a>\uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694. <i><\/i><\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\uc74c\uc5d0, \uce74\uc6b4\ud2b8 \ucc38\uc870\uc758 \uc791\uc131\uc21c\uc11c\uc5d0 JNI \ud638\ucd9c <code>NewGlobalRef<\/code> \ub97c \ucc28\ub2e8\ud558\ub294 \uc608\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\nJNIEnv original_jni_Functions;\nJNIEnv redirected_jni_Functions;\nint my_global_ref_count = 0;\n\njobject\nMyNewGlobalRef(JNIEnv *jni_env, jobject lobj) {\n   ++my_global_ref_count;\n   return originalJNIFunctions-&gt;NewGlobalRef(env, lobj);\n}\n\nvoid\nmyInit() {\n   jvmtiError err;\n\n   err = (*jvmti_env)-&gt;GetJNIFunctionTable(jvmti_env, &amp;original_jni_Functions);\n   if (err ! = JVMTI_ERROR_NONE) {\n      die();\n   }\n   err = (*jvmti_env)-&gt;GetJNIFunctionTable(jvmti_env, &amp;redirected_jni_Functions);\n   if (err ! = JVMTI_ERROR_NONE) {\n      die();\n   }\n   redirectedJNIFunctions-&gt;NewGlobalRef = MyNewGlobalRef;\n      err = (*jvmti_env)-&gt;SetJNIFunctionTable(jvmti_env, redirected_jni_Functions);\n   if (err ! = JVMTI_ERROR_NONE) {\n      die();\n   }\n}\n      <\/pre>\n<\/blockquote>\n\n<p><code>myInit<\/code> \ub97c \ud638\ucd9c\ud55c \ub4a4, \uc0ac\uc6a9\uc790\uc758 JNI \ucf54\ub4dc\uac00 \uc2e4\ud589\ub418\uc5b4 \uc0c8\ub85c\uc6b4 \uae00\ub85c\ubc8c \ucc38\uc870\ub97c \uc791\uc131\ud558\ub294 \ud638\ucd9c\uc744 \ud558\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud638\ucd9c\uc740, \uc77c\ubc18\uc801\uc73c\ub85c\uc758 JNI \uad6c\ud604\uc740 \uc544\ub2c8\uace0,<code>myNewGlobalRef<\/code> \uc5d0\uac8c \uac74\ub124\uc9d1\ub2c8\ub2e4. \ub370\uc774\ud130\uc758 \uc218\uc9d1 \ud6c4\ub3c4 \uc77c\ubc18\uc801\uc73c\ub85c\uc758 JNI \ud568\uc218\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uc6d0\uc758 \ud568\uc218 \ud14c\uc774\ube14\uc758 \uce74\ud53c\ub294 \ubcf4\uad00 \uc720\uc9c0\ub429\ub2c8\ub2e4. \ub610, \ub367\uc4f0\uae30\ub418\uc9c0 \uc54a\ub294 JNI \ud568\uc218\uc758 \ub3d9\uc791\uc740, \uc77c\ubc18\uc801\uc73c\ub85c \ub300\ub85c\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"SetJNIFunctionTable\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetJNIFunctionTable(jvmtiEnv* env,\n            const jniNativeInterface* function_table)<\/pre>\n<\/blockquote>\n\n<p>\ud604\uc7ac \uadf8\ub9ac\uace0 \uc7a5\ub798\uc758 \ubaa8\ub4e0 JNI \ud658\uacbd\uc758 JNI \ud568\uc218 \ud14c\uc774\ube14\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c, \uc7a5\ub798 \ud589\ud574\uc9c0\ub294 \ubaa8\ub4e0 JNI \ud638\ucd9c\uc740, \uc9c0\uc815\uc758 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9d1\ub2c8\ub2e4. \uc774 \ud568\uc218\uc5d0\uac8c \uac74\ub124\uc9c0\ub294 \ud568\uc218 \ud14c\uc774\ube14\uc744 \uac00\uc838\uc624\ub824\uba74 ,<a href=\"#GetJNIFunctionTable\"><code>GetJNIFunctionTable<\/code><\/a> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774 \ud568\uc218\uac00 \uc720\ud6a8\ud558\uac8c \ub418\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0)\ub294, JNI \ud074\ub77c\uc774\uc5b8\ud2b8\ub85c, \uac31\uc2e0\ub41c \ud14c\uc774\ube14 \uc5d4\ud2b8\ub9ac\ub97c \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud14c\uc774\ube14\uc740 <code>const<\/code> \ub85c\uc11c \uc815\uc758\ub418\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc77c\ubd80\uc758 \ucef4\ud30c\uc77c\ub7ec\ub294 \uc774 \ud14c\uc774\ube14\uc5d0\uc758 \uc561\uc138\uc2a4\ub97c \ucd5c\uc801\ud654\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uacbd\uc6b0, \uc774 \ud568\uc218\ub294 \uc720\ud6a8\ud558\uac8c \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud14c\uc774\ube14\uc758 \uce74\ud53c\uac00 \uc791\uc131\ub429\ub2c8\ub2e4. \ud14c\uc774\ube14\uc758 \ub85c\uceec \uce74\ud53c\ub85c \ubcc0\uacbd\uc744 \ub354\ud574\ub3c4, \uc6d0\uc758 \ud14c\uc774\ube14\uc5d0 \uc601\ud5a5\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \ud568\uc218 \ud14c\uc774\ube14\uc778 \ub9cc\ud07c \uc601\ud5a5\uc744 \ubbf8\uce69\ub2c8\ub2e4. \ud658\uacbd\uc758 \uadf8 \uc678\uc758 \ubd80\ubd84\uc5d0\ub294, \uc77c\uc808 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <a href=\"#jniIntercept\">\uc0c1\uae30<\/a>\uc758 \uc608\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>120<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetJNIFunctionTable.function_table\">function_table<\/code><\/td>\n            <td><code>const <a href=\"#jniNativeInterface\">jniNativeInterface<\/a> *<\/code><\/td>\n          <td>\uc0c8\ub85c\uc6b4 JNI \ud568\uc218 \ud14c\uc774\ube14\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jniNativeInterface<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#SetJNIFunctionTable.function_table\"><code>function_table<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetJNIFunctionTable\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetJNIFunctionTable(jvmtiEnv* env,\n            jniNativeInterface** function_table)<\/pre>\n<\/blockquote>\n\n<p>JNI \ud568\uc218 \ud14c\uc774\ube14\uc744 \uac00\uc838\uc635\ub2c8\ub2e4. JNI \ud568\uc218 \ud14c\uc774\ube14\uc740, \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uba54\ubaa8\ub9ac\uc5d0 \uce74\ud53c\ub429\ub2c8\ub2e4. <a href=\"#SetJNIFunctionTable\"><code>SetJNIFunctionTable<\/code><\/a> \uac00 \ubd88\ub824 \uac14\uc744 \uacbd\uc6b0, \ubcc0\uacbd\ub41c \ud568\uc218 \ud14c\uc774\ube14 (\uc6d0\uc758 \ud568\uc218 \ud14c\uc774\ube14\uc740 \uc544\ub2c8\ub2e4)\uc774 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uce74\ud53c\ub418\ub294 \uac83\uc740 \ud568\uc218 \ud14c\uc774\ube14 \ubfd0\uc785\ub2c8\ub2e4. \ud658\uacbd\uc758 \uadf8 \uc678\uc758 \ubd80\ubd84\uc740 \uc77c\uc808 \uce74\ud53c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <a href=\"#jniIntercept\">\uc0c1\uae30<\/a>\uc758 \uc608\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc544\ub2c8\uc624<\/td>\n           <td>121<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetJNIFunctionTable.function_table\">function_table<\/code><\/td>\n            <td><code><a href=\"#jniNativeInterface\">jniNativeInterface<\/a> **<\/code><\/td>\n           <td>\ub3cc\uc544\uc654\uc744 \ub54c,<code>*function_table<\/code> \ub294 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \uce74\ud53c\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jniNativeInterface*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jniNativeInterface*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetJNIFunctionTable.function_table\"><code>function_table<\/code><\/a> \uc774 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"eventManagement\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uc774\ubca4\ud2b8 \uad00\ub9ac<\/h2>\n\n<p>\uc774\ubca4\ud2b8 \uad00\ub9ac \ud568\uc218:<\/p>\n\n<ul>\n    <li><a href=\"#SetEventCallbacks\">\uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/a><\/li>\n    <li><a href=\"#SetEventNotificationMode\">\uc774\ubca4\ud2b8 \ud1b5\uc9c0 \ubaa8\ub4dc\uc758 \uc124\uc815<\/a><\/li>\n    <li><a href=\"#GenerateEvents\">\uc774\ubca4\ud2b8\uc758 \uc0dd\uc131<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ubca4\ud2b8 \uad00\ub9ac\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiEventMode\"><code>jvmtiEventMode<\/code><\/a> - \uc774\ubca4\ud2b8\uc758 \uc720\ud6a8\ud654\uc640 \ubb34\ud6a8\ud654<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"SetEventCallbacks\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetEventCallbacks(jvmtiEnv* env,\n            const jvmtiEventCallbacks* callbacks,\n            jint size_of_callbacks)<\/pre>\n<\/blockquote>\n\n<p>\uc774\ubca4\ud2b8 \ub9c8\ub2e4 \ubd88\ub824 \uac00\ub294 \ud568\uc218\ub97c \uc124\uc815\ud569\ub2c8\ub2e4. \ub300\uccb4 \ud568\uc218 \ud14c\uc774\ube14\uc744 \uc81c\uacf5\ud558\ub294 \uac83\uc73c\ub85c\uc368, \ucf5c\ubc31\uc774 \uc9c0\uc815\ub429\ub2c8\ub2e4. \ud568\uc218 \ud14c\uc774\ube14\uc758 \uce74\ud53c\uac00 \uc791\uc131\ub429\ub2c8\ub2e4. \ud14c\uc774\ube14\uc758 \ub85c\uceec \uce74\ud53c\ub85c \ubcc0\uacbd\uc744 \ub354\ud574\ub3c4, \uc6d0\uc758 \ud14c\uc774\ube14\uc5d0 \uc601\ud5a5\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740 \ubd88\uac00\ubd84\uc778 \ucc98\ub9ac\uc785\ub2c8\ub2e4. \ubaa8\ub4e0 \ucf5c\ubc31\uc774 \ub3d9\uc2dc\uc5d0 \uc124\uc815\ub429\ub2c8\ub2e4. \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac08 \ub54c\uae4c\uc9c0, \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc5d4\ud2b8\ub9ac\uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ub610\ub294 \uc774\ubca4\ud2b8\uac00 <a href=\"#SetEventCallbacks.size_of_callbacks\"><code>size_of_callbacks<\/code><\/a> \uc758 \uc0ac\uc774\uc988\ub97c \ub118\uc5c8\uc744 \uacbd\uc6b0, \uc774\ubca4\ud2b8\uc758 \uc1a1\uc2e0\uc740 \ud589\ud574\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\uc758 \uc790\uc138\ud55c \uac83\uc740, \uc774 \ubb38\uc11c\ub85c<a href=\"#EventSection\">\ud6c4\uc220 <\/a>\ud569\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub294, \uc720\ud6a8\ud574, \uc1a1\uc2e0\ub41c \uc21c\uc11c\uc5d0 \ucf5c\ubc31\uc744 \uac00\uc9c0\uace0 \uc788\uc744 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\ub85c <a href=\"#SetEventNotificationMode\"><code>SetEventNotificationMode<\/code><\/a> \uac00 \ubd88\ub824 \uac04 \ucc28\ub840\ub294, \uacb0\uacfc\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>122<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetEventCallbacks.callbacks\">callbacks<\/code><\/td>\n            <td><code>const <a href=\"#jvmtiEventCallbacks\">jvmtiEventCallbacks<\/a> *<\/code><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \uc774\ubca4\ud2b8 \ucf5c\ubc31.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiEventCallbacks<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>callbacks<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uae30\uc874\uc758 \ud638\ucd9c\uc740 \uc0ad\uc81c\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"SetEventCallbacks.size_of_callbacks\">size_of_callbacks<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td><code>sizeof(jvmtiEventCallbacks)<\/code>-- \ubc84\uc83c\uac04\uc758 \ud638\ud658\uc131\uc744 \uc2e4\ud604.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetEventCallbacks.size_of_callbacks\"><code>size_of_callbacks<\/code><\/a> \uac00 <code>0<\/code> \ubcf4\ub2e4 \uc791\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetEventNotificationMode\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc774\ubca4\ud2b8 \ud1b5\uc9c0 \ubaa8\ub4dc\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\ntypedef enum {\n    JVMTI_ENABLE = 1,\n    JVMTI_DISABLE = 0\n} jvmtiEventMode;<\/pre>\n\n<pre>\njvmtiError\nSetEventNotificationMode(jvmtiEnv* env,\n            jvmtiEventMode mode,\n            jvmtiEvent event_type,\n            jthread event_thread,\n             ...)<\/pre>\n<\/blockquote>\n\n<p>\uc774\ubca4\ud2b8\uc758 \uc0dd\uc131\uc744 \uc81c\uc5b4\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiEventMode\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\uc774\ubca4\ud2b8\uc758 \uc720\ud6a8\ud654\uc640 \ubb34\ud6a8\ud654 (<code>jvmtiEventMode<\/code>)<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_ENABLE\">JVMTI_ENABLE<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td><a href=\"#SetEventNotificationMode.mode\"><code>mode<\/code><\/a> \uac00 <code>JVMTI_ENABLE<\/code> \uc758 \uacbd\uc6b0, \uc774\ubca4\ud2b8 <a href=\"#SetEventNotificationMode.event_type\"><code>event_type<\/code><\/a> \uac00 \uc720\ud6a8\ud654 \ub41c\ub2e4<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_DISABLE\">JVMTI_DISABLE<\/code><\/td>\n          <td align=\"right\">0<\/td>\n            <td><a href=\"#SetEventNotificationMode.mode\"><code>mode<\/code><\/a> \uac00 <code>JVMTI_DISABLE<\/code> \uc758 \uacbd\uc6b0, \uc774\ubca4\ud2b8 <a href=\"#SetEventNotificationMode.event_type\"><code>event_type<\/code><\/a> \uac00 \ubb34\ud6a8\ud654\ub41c\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p><code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0\ub294, \uc774 \uc774\ubca4\ud2b8\ub294 \uae00\ub85c\ubc8c\ud558\uac8c \uc720\ud6a8 \ub610\ub294 \ubb34\ud6a8\ub85c \ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294, \ud2b9\uc815\uc758 thread\uc5d0 \ub300\ud574 \uc720\ud6a8 \ub610\ub294 \ubb34\ud6a8\ub85c \ub429\ub2c8\ub2e4. \ud2b9\uc815\uc758 thread\uc5d0 \ub300\ud574 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub418\ub294 \uac83\uc740, \uc774\ubca4\ud2b8\uac00 thread \ub808\ubca8 \ub610\ub294 \uae00\ub85c\ubc8c \ub808\ubca8\uc758 \uc5b4\ub290 \ucabd\uc778\uc9c0\ub85c \uc720\ud6a8\ud558\uac8c \ub418\uace0 \uc788\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac1c\uac1c\uc758 \uc774\ubca4\ud2b8\uc5d0 \ub300\ud55c \uc815\ubcf4\ub294,<a href=\"#EventIndex\">\ud6c4\uc220 \ud558\ub294 \uc124\uba85<\/a>\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\uc74c\uc758 \uc774\ubca4\ud2b8\ub294, \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud574 thread \ub808\ubca8\uc5d0\uc11c\ub294 \uc81c\uc5b4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li><a href=\"#VMInit\"><code>VMInit<\/code><\/a><\/li>\n  <li><a href=\"#VMStart\"><code>VMStart<\/code><\/a><\/li>\n    <li><a href=\"#VMDeath\"><code>VMDeath<\/code><\/a><\/li>\n    <li><a href=\"#ThreadStart\"><code>ThreadStart<\/code><\/a><\/li>\n    <li><a href=\"#CompiledMethodLoad\"><code>CompiledMethodLoad<\/code><\/a><\/li>\n  <li><a href=\"#CompiledMethodUnload\"><code>CompiledMethodUnload<\/code><\/a><\/li>\n  <li><a href=\"#DynamicCodeGenerated\"><code>DynamicCodeGenerated<\/code><\/a><\/li>\n  <li><a href=\"#DataDumpRequest\"><code>DataDumpRequest<\/code><\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>\ucc98\uc74c\uc740, thread \ub808\ubca8\ub85c \uc720\ud6a8\ud558\uac8c \ub418\uace0 \uc788\ub294 \uc774\ubca4\ud2b8\ub3c4, \uae00\ub85c\ubc8c \ub808\ubca8\ub85c \uc720\ud6a8\ud558\uac8c \ub418\uace0 \uc788\ub294 \uc774\ubca4\ud2b8\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\ub97c \ud638\ucd9c\ud558\uae30 \uc804\uc5d0, \ud544\uc694\ud55c \uad8c\ud55c (\ud6c4\uc220\uc758 \u300c\uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud654\ud558\ub294 \uad8c\ud55c\u300d\uc744 \ucc38\uc870)\uc744 \uc18c\uc720\ud558\uace0 \uc788\uc744 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ubca4\ud2b8\uc758 \uc0c1\uc138\ud55c \uac83\uc5d0 \ub300\ud558\uc5ec\ub294,<a href=\"#EventSection\">\ud6c4\uc220 <\/a>\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>2<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud654\ud558\ub294 \uad8c\ud55c<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\uc774\ubca4\ud2b8<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_modification_events\"><code>can_generate_field_modification_events<\/code><\/a><\/td>\n            <td><a href=\"#FieldModification\"><code>FieldModification<\/code><\/a><\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_access_events\"><code>can_generate_field_access_events<\/code><\/a><\/td>\n            <td><a href=\"#FieldAccess\"><code>FieldAccess<\/code><\/a><\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_single_step_events\"><code>can_generate_single_step_events<\/code><\/a><\/td>\n          <td><a href=\"#SingleStep\"><code>SingleStep<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_exception_events\"><code>can_generate_exception_events<\/code><\/a><\/td>\n          <td><a href=\"#Exception\"><code>Exception<\/code><\/a><br \/>\n           <a href=\"#ExceptionCatch\"><code>ExceptionCatch<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_frame_pop_events\"><code>can_generate_frame_pop_events<\/code><\/a><\/td>\n          <td><a href=\"#FramePop\"><code>FramePop<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_breakpoint_events\"><code>can_generate_breakpoint_events<\/code><\/a><\/td>\n            <td><a href=\"#Breakpoint\"><code>Breakpoint<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_method_entry_events\"><code>can_generate_method_entry_events<\/code><\/a><\/td>\n            <td><a href=\"#MethodEntry\"><code>MethodEntry<\/code><\/a><\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_method_exit_events\"><code>can_generate_method_exit_events<\/code><\/a><\/td>\n          <td><a href=\"#MethodExit\"><code>MethodExit<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_compiled_method_load_events\"><code>can_generate_compiled_method_load_events<\/code><\/a><\/td>\n            <td><a href=\"#CompiledMethodLoad\"><code>CompiledMethodLoad<\/code><\/a><br \/>\n         <a href=\"#CompiledMethodUnload\"><code>CompiledMethodUnload<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_monitor_events\"><code>can_generate_monitor_events<\/code><\/a><\/td>\n          <td><a href=\"#MonitorContendedEnter\"><code>MonitorContendedEnter<\/code><\/a><br \/>\n           <a href=\"#MonitorContendedEntered\"><code>MonitorContendedEntered<\/code><\/a><br \/>\n           <a href=\"#MonitorWait\"><code>MonitorWait<\/code><\/a><br \/>\n           <a href=\"#MonitorWaited\"><code>MonitorWaited<\/code><\/a><\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_vm_object_alloc_events\"><code>can_generate_vm_object_alloc_events<\/code><\/a><\/td>\n          <td><a href=\"#VMObjectAlloc\"><code>VMObjectAlloc<\/code><\/a><\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_native_method_bind_events\"><code>can_generate_native_method_bind_events<\/code><\/a><\/td>\n            <td><a href=\"#NativeMethodBind\"><code>NativeMethodBind<\/code><\/a><\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_garbage_collection_events\"><code>can_generate_garbage_collection_events<\/code><\/a><\/td>\n            <td><a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a><br \/>\n         <a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a><\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_object_free_events\"><code>can_generate_object_free_events<\/code><\/a><\/td>\n          <td><a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a><\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetEventNotificationMode.mode\">mode<\/code><\/td>\n           <td><code><a href=\"#jvmtiEventMode\">jvmtiEventMode<\/a> <\/code><\/td>\n         <td><code>JVMTI_ENABLE<\/code> \ub610\ub294 <code>JVMTI_DISABLE<\/code><\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SetEventNotificationMode.event_type\">event_type<\/code><\/td>\n           <td><code><a href=\"#jvmtiEvent\">jvmtiEvent<\/a> <\/code><\/td>\n         <td>\uc81c\uc5b4\ud558\ub294 \uc774\ubca4\ud2b8<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"SetEventNotificationMode.event_thread\">event_thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc81c\uc5b4\ud558\ub294 thread\n           <p>&nbsp;<\/p>\n         <code>event_thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774\ubca4\ud2b8\ub294 \uae00\ub85c\ubc8c \ub808\ubca8\ub85c \uc81c\uc5b4\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetEventNotificationMode....\">...<\/code><\/td>\n         <td><code>...<\/code><\/td>\n         <td>\uc7a5\ub798\uc758 \ud655\uc7a5\uc6a9<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#SetEventNotificationMode.event_thread\"><code>event_thread<\/code><\/a> \uac00 <code>NULL<\/code> \uc774\uc678\ub85c, \uc720\ud6a8\ud55c thread\uac00 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#SetEventNotificationMode.event_thread\"><code>event_thread<\/code><\/a> \uac00 <code>NULL<\/code> \uc774\uc678\ub85c, \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td>thread \ub808\ubca8\uc758 \uc81c\uc5b4\uac00 \ud5c8\uac00\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uc774\ubca4\ud2b8\ub85c, thread \ub808\ubca8\uc758 \uc81c\uc5b4\uac00 \uc2dc\ud589\ub418\uc5c8\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud544\uc694\ud55c \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud654\ud558\ub294 \uad8c\ud55c\uc744 \uac00\uc9c0\uace0 \uc788\uc9c0 \uc54a\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetEventNotificationMode.mode\"><code>mode<\/code><\/a> \uac00 jvmtiEventMode \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_EVENT_TYPE\"><code>JVMTI_ERROR_INVALID_EVENT_TYPE<\/code><\/a><\/td>\n          <td><a href=\"#SetEventNotificationMode.event_type\"><code>event_type<\/code><\/a> \uac00 jvmtiEvent \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GenerateEvents\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc774\ubca4\ud2b8\uc758 \uc0dd\uc131<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGenerateEvents(jvmtiEnv* env,\n            jvmtiEvent event_type)<\/pre>\n<\/blockquote>\n\n<p>\ud604\uc7ac\uc758 VM \uc758 \uc0c1\ud0dc\ub97c \ub098\ud0c0\ub0b4\ub294 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<a href=\"#GenerateEvents.event_type\"><code>event_type<\/code><\/a> \uac00 <code>JVMTI_EVENT_COMPILED_METHOD_LOAD<\/code> \uc758 \uacbd\uc6b0, \ucd5c\uadfc \ucef4\ud30c\uc77c \ub41c \uac01 \uba54\uc18c\ub4dc\uc5d0 <a href=\"#CompiledMethodLoad\"><code>CompiledMethodLoad<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \ub85c\ub4dc \ub418\uace0 \ub098\uc11c, \uc544\uc9c1 \uc5b8\ub85c\ub4dc\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uba54\uc18c\ub4dc\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uc804\uc5d0 \uc1a1\uc2e0\ub41c \uc774\ubca4\ud2b8\uc758 \uc774\ub825\uc740, \uc774 \ud568\uc218\uc5d0 \uc758\ud574 \uc1a1\uc2e0\ub418\ub294 \uc774\ubca4\ud2b8\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac08 \ub54c\ub9c8\ub2e4, \ucd5c\uadfc \ucef4\ud30c\uc77c \ub41c \ubaa8\ub4e0 \uba54\uc18c\ub4dc\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\uac00 \ud504\ub85c\uadf8\ub7a8\uc758 \uc2e4\ud589 \uac1c\uc2dc \ud6c4\uc5d0 \uc811\uc18d\ub41c \uac83\uc5d0 \uc758\ud574, \uc774\ubca4\ud2b8\uac00 \uc5c6\uc5b4\uc84c\uc744 \uacbd\uc6b0\ub294, \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud574 \uc5c6\uc5b4\uc9c4 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc \ub610\ub294 JNI \ud568\uc218\uc758 \uc2e4\ud589\uc740, \uc774 \ud568\uc218\uac00 \uc885\ub8cc\ud560 \ub54c\uae4c\uc9c0 \uc77c\uc2dc\uc815\uc9c0\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \ub54c\ubb38\uc5d0, \uc5b4\ub290\ucabd\uc774\ub098 \uc774\ubca4\ud2b8\ub97c \uc1a1\uc2e0\ud558\ub294 thread\ub85c\ubd80\ud130 \ubd88\ub824 \uac00\uc9c0 \uc54a\uac8c \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294, \uc5c6\uc5b4\uc9c4 \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub418\uc5b4 \ucc98\ub9ac\ub418\uc5b4 \uc885\ub8cc\ud560 \ub54c\uae4c\uc9c0 \uc885\ub8cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\uac00, \ubc1c\uc0dd\uc6d0\uc758 thread\uc640\ub294 \ub2e4\ub978 thread\uc5d0 \uc1a1\uc2e0\ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub97c \ubc1c\uc0dd\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0)\ub294,<a href=\"#SetEventCallbacks\"><code>SetEventCallbacks<\/code><\/a> \ub85c \uc774\ubca4\ud2b8\uc758 \ucf5c\ubc31\uc744 \uc124\uc815\ud574,<a href=\"#SetEventNotificationMode\"><code>SetEventNotificationMode<\/code><\/a> \ub85c \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc694\uad6c\ub41c \uc774\ubca4\ud2b8\uc758 \uc77c\ubd80 \ub610\ub294 \ubaa8\ub4e0 \uac83\uc744 \uc0dd\uc131\ud558\uae30 \uc704\ud574\uc11c \ud544\uc694\ud55c \uc815\ubcf4\uac00 VM \ub85c\ubd80\ud130 \uc5c6\uc5b4\uc84c\uc744 \uacbd\uc6b0, \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uace0, \uc5d0\ub7ec\ub3c4 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc9c0\uc6d0\ub418\ub294 \uc774\ubca4\ud2b8\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n <li><a href=\"#CompiledMethodLoad\"><code>CompiledMethodLoad<\/code><\/a><\/li>\n  <li><a href=\"#DynamicCodeGenerated\"><code>DynamicCodeGenerated<\/code><\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>123<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_compiled_method_load_events\"><code>can_generate_compiled_method_load_events<\/code><\/a><\/td>\n            <td>\uba54\uc18c\ub4dc\uc758 \ucef4\ud30c\uc77c\uc2dc \ub610\ub294 \uc5b8\ub85c\ub4dc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GenerateEvents.event_type\">event_type<\/code><\/td>\n         <td><code><a href=\"#jvmtiEvent\">jvmtiEvent<\/a> <\/code><\/td>\n         <td>\uc0dd\uc131\ud558\ub294 \uc774\ubca4\ud2b8\uc758 \ud615\ud0dc. \ub2e4\uc74c\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc73c\ub85c \ud55c\ub2e4.\n           <ul type=\"disc\">\n                <li><a href=\"#CompiledMethodLoad\"><code>JVMTI_EVENT_COMPILED_METHOD_LOAD<\/code><\/a><\/li>\n                <li><a href=\"#DynamicCodeGenerated\"><code>JVMTI_EVENT_DYNAMIC_CODE_GENERATED<\/code><\/a><\/li>\n            <\/ul>\n         <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td><a href=\"#GenerateEvents.event_type\"><code>event_type<\/code><\/a> \uac00 <a href=\"#CompiledMethodLoad\"><code>JVMTI_EVENT_COMPILED_METHOD_LOAD<\/code><\/a> \ub85c,<a href=\"#jvmtiCapabilities.can_generate_compiled_method_load_events\"><code>can_generate_compiled_method_load_events<\/code><\/a> \uac00 <code>false<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GenerateEvents.event_type\"><code>event_type<\/code><\/a> \uac00 <a href=\"#CompiledMethodLoad\"><code>JVMTI_EVENT_COMPILED_METHOD_LOAD<\/code><\/a> \ub3c4 <a href=\"#DynamicCodeGenerated\"><code>JVMTI_EVENT_DYNAMIC_CODE_GENERATED<\/code><\/a> \ub3c4 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_EVENT_TYPE\"><code>JVMTI_ERROR_INVALID_EVENT_TYPE<\/code><\/a><\/td>\n          <td><a href=\"#GenerateEvents.event_type\"><code>event_type<\/code><\/a> \uac00 jvmtiEvent \ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"extension\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\ud655\uc7a5 \uae30\ub2a5 \uae30\uad6c<\/h2>\n\n<p>\ud655\uc7a5 \uae30\ub2a5 \uae30\uad6c \ud568\uc218:<\/p>\n\n<ul>\n    <li><a href=\"#GetExtensionFunctions\">\ud655\uc7a5 \ud568\uc218\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetExtensionEvents\">\ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#SetExtensionEventCallback\">\ud655\uc7a5 \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/a><\/li>\n<\/ul>\n\n<p>\ud655\uc7a5 \uae30\ub2a5 \uae30\uad6c\uc758 \ud568\uc218\ud615:<\/p>\n\n<ul>\n <li><a href=\"#jvmtiExtensionFunction\">\ud655\uc7a5 \ud568\uc218<\/a><\/li>\n    <li><a href=\"#jvmtiExtensionEvent\">\ud655\uc7a5 \uc774\ubca4\ud2b8<\/a><\/li>\n<\/ul>\n\n<p>\ud655\uc7a5 \uae30\ub2a5 \uae30\uad6c\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n <li><a href=\"#jvmtiParamTypes\"><code>jvmtiParamTypes<\/code><\/a> - \ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130\uc758 \ud615\ud0dc<\/li>\n <li><a href=\"#jvmtiParamKind\"><code>jvmtiParamKind<\/code><\/a> - \ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130\uc758 \uc885\ub958<\/li>\n   <li><a href=\"#jvmtiParamInfo\"><code>jvmtiParamInfo<\/code><\/a> - \ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130 \uc815\ubcf4<\/li>\n <li><a href=\"#jvmtiExtensionFunctionInfo\"><code>jvmtiExtensionFunctionInfo<\/code><\/a> - \ud655\uc7a5 \ud568\uc218 \uc815\ubcf4<\/li>\n <li><a href=\"#jvmtiExtensionEventInfo\"><code>jvmtiExtensionEventInfo<\/code><\/a> - \ud655\uc7a5 \uc774\ubca4\ud2b8 \uc815\ubcf4<\/li>\n<\/ul>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc740, \uc774\ub7ec\ud55c \ud568\uc218\ub97c \uc0ac\uc6a9\ud574, \uc774 \uc2a4\ud399\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ud568\uc218 \ubc0f \uc774\ubca4\ud2b8\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud655\uc7a5 \ud568\uc218\uc640 \ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \ud30c\ub77c\ubbf8\ud130\ub294, \uac01\uac01 \ub2e4\uc74c\uc758 \uac89(\ud45c)\uc5d0 \ub098\ud0c0\ub0b4\ub294 \u300c\ud615\ud0dc\u300d\uc640\u300c\uc885\ub958\u300d\ub97c \uac00\uc9d1\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiParamTypes\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130\uc758 \ud615\ud0dc (<code>jvmtiParamTypes<\/code>)<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JBYTE\">JVMTI_TYPE_JBYTE<\/code><\/td>\n            <td align=\"right\">101<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>byte<\/code>. JNI \ud615 <code>jbyte<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JCHAR\">JVMTI_TYPE_JCHAR<\/code><\/td>\n            <td align=\"right\">102<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>char<\/code>. JNI \ud615 <code>jchar<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JSHORT\">JVMTI_TYPE_JSHORT<\/code><\/td>\n          <td align=\"right\">103<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>short<\/code>. JNI \ud615 <code>jshort<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JINT\">JVMTI_TYPE_JINT<\/code><\/td>\n          <td align=\"right\">104<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>int<\/code>. JNI \ud615 <a href=\"#jint\"><code>jint<\/code><\/a> .<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JLONG\">JVMTI_TYPE_JLONG<\/code><\/td>\n            <td align=\"right\">105<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>long<\/code>. JNI \ud615 <a href=\"#jlong\"><code>jlong<\/code><\/a> .<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JFLOAT\">JVMTI_TYPE_JFLOAT<\/code><\/td>\n          <td align=\"right\">106<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>float<\/code>. JNI \ud615 <a href=\"#jfloat\"><code>jfloat<\/code><\/a> .<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JDOUBLE\">JVMTI_TYPE_JDOUBLE<\/code><\/td>\n            <td align=\"right\">107<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>double<\/code>. JNI \ud615 <a href=\"#jdouble\"><code>jdouble<\/code><\/a> .<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JBOOLEAN\">JVMTI_TYPE_JBOOLEAN<\/code><\/td>\n          <td align=\"right\">108<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 - <code>boolean<\/code>. JNI \ud615 <a href=\"#jboolean\"><code>jboolean<\/code><\/a> .<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JOBJECT\">JVMTI_TYPE_JOBJECT<\/code><\/td>\n            <td align=\"right\">109<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uac1d\uccb4\ud615 - <code>java.lang.Object<\/code>. JNI \ud615 <a href=\"#jobject\"><code>jobject<\/code><\/a> . \ubc18\ud658\uac12\uc740 JNI \ub85c\uceec \ucc38\uc870\ub85c, \uad00\ub9ac \ub300\uc0c1.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JTHREAD\">JVMTI_TYPE_JTHREAD<\/code><\/td>\n            <td align=\"right\">110<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uac1d\uccb4\ud615 - <code>java.lang.Thread<\/code>. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud615 <a href=\"#jthread\"><code>jthread<\/code><\/a> . \ubc18\ud658\uac12\uc740 JNI \ub85c\uceec \ucc38\uc870\ub85c, \uad00\ub9ac \ub300\uc0c1.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JCLASS\">JVMTI_TYPE_JCLASS<\/code><\/td>\n          <td align=\"right\">111<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uac1d\uccb4\ud615 - <code>java.lang.Class<\/code>. JNI \ud615 <a href=\"#jclass\"><code>jclass<\/code><\/a> . \ubc18\ud658\uac12\uc740 JNI \ub85c\uceec \ucc38\uc870\ub85c, \uad00\ub9ac \ub300\uc0c1.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JVALUE\">JVMTI_TYPE_JVALUE<\/code><\/td>\n          <td align=\"right\">112<\/td>\n          <td>\ubaa8\ub4e0 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uc6d0\uc2dc\ud615 \ubc0f \uac1d\uccb4\ud615\uc758 \ud654\uc9d1\ud569 - JNI \ud615 <a href=\"#jvalue\"><code>jvalue<\/code><\/a> . \ubc18\ud658\uac12\uc740 \uac1d\uccb4\ud615\uc758 JNI \ub85c\uceec \ucc38\uc870\ub85c, \uad00\ub9ac \ub300\uc0c1.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JFIELDID\">JVMTI_TYPE_JFIELDID<\/code><\/td>\n          <td align=\"right\">113<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ud544\ub4dc \uc2dd\ubcc4\uc790 - JNI \ud615 <a href=\"#jfieldID\"><code>jfieldID<\/code><\/a> .<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JMETHODID\">JVMTI_TYPE_JMETHODID<\/code><\/td>\n            <td align=\"right\">114<\/td>\n          <td>Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc \uc2dd\ubcc4\uc790 - JNI \ud615 <a href=\"#jmethodID\"><code>jmethodID<\/code><\/a> .<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_CCHAR\">JVMTI_TYPE_CCHAR<\/code><\/td>\n            <td align=\"right\">115<\/td>\n          <td>C \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\ud615 - <code>char<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_CVOID\">JVMTI_TYPE_CVOID<\/code><\/td>\n            <td align=\"right\">116<\/td>\n          <td>C \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\ud615 - <code>void<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TYPE_JNIENV\">JVMTI_TYPE_JNIENV<\/code><\/td>\n          <td align=\"right\">117<\/td>\n          <td>JNI \ud658\uacbd <code>JNIEnv<\/code>. \ud3ec\uc778\ud130\ud615\uc73c\ub85c \ud558\ub824\uba74 , \uc801\uc808\ud55c <a href=\"#jvmtiParamKind\"><code>jvmtiParamKind<\/code><\/a> \uc640 \ud568\uaed8 \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiParamKind\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130\uc758 \uc885\ub958 (<code>jvmtiParamKind<\/code>)<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_IN\">JVMTI_KIND_IN<\/code><\/td>\n          <td align=\"right\">91<\/td>\n           <td>\uc785\ub825 \uc778\uc218 - <code>foo<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_IN_PTR\">JVMTI_KIND_IN_PTR<\/code><\/td>\n          <td align=\"right\">92<\/td>\n           <td>\uc785\ub825 \ud3ec\uc778\ud130 \uc778\uc218 - <code>const foo*<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_IN_BUF\">JVMTI_KIND_IN_BUF<\/code><\/td>\n          <td align=\"right\">93<\/td>\n           <td>\uc785\ub825 \ubc30\uc5f4 \uc778\uc218 - <code>const foo*<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_ALLOC_BUF\">JVMTI_KIND_ALLOC_BUF<\/code><\/td>\n            <td align=\"right\">94<\/td>\n           <td>\ud560\ub2f9\ud558\uace0\uac00 \ub05d\ub09c \ucd9c\ub825 \ubc30\uc5f4 \uc778\uc218 - <code>foo**<\/code>. <code>Deallocate<\/code> \ub85c \ud574\uc81c.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_ALLOC_ALLOC_BUF\">JVMTI_KIND_ALLOC_ALLOC_BUF<\/code><\/td>\n            <td align=\"right\">95<\/td>\n           <td>\ud560\ub2f9\ud558\uace0\uac00 \ub05d\ub09c \ubc30\uc5f4 \uc778\uc218\uc758 \ud560\ub2f9\uc774 \ub05d\ub09c \ucd9c\ub825 \ubc30\uc5f4 - <code>foo***<\/code>. <code>Deallocate<\/code> \ub85c \ud574\uc81c.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_OUT\">JVMTI_KIND_OUT<\/code><\/td>\n            <td align=\"right\">96<\/td>\n           <td>\ucd9c\ub825 \uc778\uc218 - <code>foo*<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_KIND_OUT_BUF\">JVMTI_KIND_OUT_BUF<\/code><\/td>\n            <td align=\"right\">97<\/td>\n           <td>\ucd9c\ub825 \ubc30\uc5f4 \uc778\uc218 (\uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \uc0ac\uc804\uc5d0 \ud560\ub2f9\ud558\uace0\uac00 \ub05d\ub09c) - <code>foo*<\/code>. <code>Deallocate<\/code> \ub294 \ubd88\uac00.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<h4 id=\"jvmtiParamInfo\">\ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130 \uc815\ubcf4<\/h4>\n\n<blockquote>\n<pre>\ntypedef struct {\n    char* name;\n    jvmtiParamKind kind;\n    jvmtiParamTypes base_type;\n    jboolean null_ok;\n} jvmtiParamInfo;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiParamInfo<\/code> - \ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130 \uc815\ubcf4<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiParamInfo.name\">name<\/code><\/td>\n         <td><code>char *<\/code><\/td>\n          <td>\ud30c\ub77c\ubbf8\ud130\uba85. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c encode \ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiParamInfo.kind\">kind<\/code><\/td>\n         <td><code><a href=\"#jvmtiParamKind\">jvmtiParamKind<\/a> <\/code><\/td>\n         <td>\ud30c\ub77c\ubbf8\ud130\uc758 \uc885\ub958 - \ud615 \uc218\uc2dd\uc790<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiParamInfo.base_type\">base_type<\/code><\/td>\n           <td><code><a href=\"#jvmtiParamTypes\">jvmtiParamTypes<\/a> <\/code><\/td>\n           <td>\ud30c\ub77c\ubbf8\ud130\uc758 \uae30\uc800\ud615 - <code>kind<\/code> \uc5d0 \uc758\ud574 \ubcc0\uacbd\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiParamInfo.null_ok\">null_ok<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td><code>NULL<\/code> \uc778\uc218\ub97c \ud5c8\uac00\ud560\uae4c. \ud3ec\uc778\ud130\ud615\uacfc \uac1d\uccb4\ud615\uc5d0\ub9cc \uc801\uc6a9.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"jvmtiExtensionFunction\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud655\uc7a5 \ud568\uc218<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n   <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef jvmtiError (JNICALL *jvmtiExtensionFunction)\n    (jvmtiEnv* jvmti_env,\n      ...);<\/pre>\n         <\/blockquote>\n         \uad6c\ud604 \uace0\uc720\uc758 \ud655\uc7a5 \ud568\uc218\uc785\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiExtensionFunction.jvmti_env\">jvmti_env<\/code><\/td>\n                       <td><code><a href=\"#jvmtiEnv\">jvmtiEnv<\/a> *<\/code><\/td>\n                        <td>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740, \ud655\uc7a5 \ud568\uc218\uc758 \uc720\uc77c\ud55c \uace0\uc815 \ud30c\ub77c\ubbf8\ud130.<\/td>\n                   <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiExtensionFunction....\">...<\/code><\/td>\n                       <td><code>...<\/code><\/td>\n                     <td>\ud655\uc7a5 \ud568\uc218 \uace0\uc720\uc758 \ud30c\ub77c\ubbf8\ud130.<\/td>\n                   <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetExtensionFunctions\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud655\uc7a5 \ud568\uc218\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jvmtiExtensionFunction func;\n    char* id;\n    char* short_description;\n    jint param_count;\n    jvmtiParamInfo* params;\n    jint error_count;\n    jvmtiError* errors;\n} jvmtiExtensionFunctionInfo;<\/pre>\n\n<pre>\njvmtiError\nGetExtensionFunctions(jvmtiEnv* env,\n            jint* extension_count_ptr,\n            jvmtiExtensionFunctionInfo** extensions)<\/pre>\n<\/blockquote>\n\n<p>\ud655\uc7a5 \ud568\uc218\uc138\ud2b8\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>124<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiExtensionFunctionInfo\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiExtensionFunctionInfo<\/code> - \ud655\uc7a5 \ud568\uc218 \uc815\ubcf4<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.func\">func<\/code><\/td>\n         <td><code><a href=\"#jvmtiExtensionFunction\">jvmtiExtensionFunction<\/a> <\/code><\/td>\n         <td>\ubd88\ub824 \uac00\ub294 \uc2e4\uc81c\uc758 \ud568\uc218<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.id\">id<\/code><\/td>\n         <td><code>char *<\/code><\/td>\n          <td>\ud655\uc7a5 \ud568\uc218\uc758 \uc2dd\ubcc4\uc790. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c encode \ub41c\ub2e4. \ud328\ud0a4\uc9c0\uc758 \uba85\uba85 \uaddc\uce59\uc5d0 \ub530\ub978\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<code>com.sun.hotspot.bar<\/code><\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.short_description\">short_description<\/code><\/td>\n           <td><code>char *<\/code><\/td>\n          <td>\ud568\uc218\ub97c 1 \ubb38\uc73c\ub85c \uc124\uba85. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c encode \ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.param_count\">param_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td><code>jvmtiEnv *jvmti_env<\/code> \ub97c \uc81c\uc678\ud558\ub294 \ud30c\ub77c\ubbf8\ud130\uc218<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.params\">params<\/code><\/td>\n         <td><code><a href=\"#jvmtiParamInfo\">jvmtiParamInfo<\/a> *<\/code><\/td>\n            <td><a href=\"#jvmtiExtensionFunctionInfo.param_count\"><code>param_count<\/code><\/a> \ud30c\ub77c\ubbf8\ud130\uc758 \ubc30\uc5f4 (<code>jvmtiEnv *jvmti_env<\/code> \ub97c \uc81c\uc678\ud55c\ub2e4)<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.error_count\">error_count<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc5d0\ub7ec \ubc18\ud658\uac12\uc758 \uc218 (\ubc94\uc6a9 \uc5d0\ub7ec\ub97c \uc81c\uc678\ud558\ub2e4)<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionFunctionInfo.errors\">errors<\/code><\/td>\n         <td><code><a href=\"#jvmtiError\">jvmtiError<\/a> *<\/code><\/td>\n            <td><a href=\"#jvmtiExtensionFunctionInfo.error_count\"><code>error_count<\/code><\/a> \uc758 \uc5d0\ub7ec\uc758 \ubc30\uc5f4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetExtensionFunctions.extension_count_ptr\">extension_count_ptr<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud655\uc7a5 \ud568\uc218\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetExtensionFunctions.extensions\">extensions<\/code><\/td>\n          <td><code><a href=\"#jvmtiExtensionFunctionInfo\">jvmtiExtensionFunctionInfo<\/a> **<\/code><\/td>\n           <td>\ud655\uc7a5 \ud568\uc218 \uc815\ubcf4\uc758 \ubc30\uc5f4\uc744, \ud568\uc218 \ub9c8\ub2e4 1 \uac1c(\uc0b4)\uc529 \ub3cc\ub824\uc900\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiExtensionFunctionInfo*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiExtensionFunctionInfo*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*extension_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionFunctionInfo<\/code> \uc758 <code>id<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionFunctionInfo<\/code> \uc758 <code>short_description<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionFunctionInfo<\/code> \uc758 <code>params<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiParamInfo<\/code> \uc758 <code>name<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionFunctionInfo<\/code> \uc758 <code>errors<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetExtensionFunctions.extension_count_ptr\"><code>extension_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetExtensionFunctions.extensions\"><code>extensions<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetExtensionEvents\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jint extension_event_index;\n    char* id;\n    char* short_description;\n    jint param_count;\n    jvmtiParamInfo* params;\n} jvmtiExtensionEventInfo;<\/pre>\n\n<pre>\njvmtiError\nGetExtensionEvents(jvmtiEnv* env,\n            jint* extension_count_ptr,\n            jvmtiExtensionEventInfo** extensions)<\/pre>\n<\/blockquote>\n\n<p>\ud655\uc7a5 \uc774\ubca4\ud2b8\uc138\ud2b8\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>125<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiExtensionEventInfo\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiExtensionEventInfo<\/code> - \ud655\uc7a5 \uc774\ubca4\ud2b8 \uc815\ubcf4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionEventInfo.extension_event_index\">extension_event_index<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc774\ubca4\ud2b8\ub97c \uc2dd\ubcc4\ud558\ub294 \uc778\ub371\uc2a4<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionEventInfo.id\">id<\/code><\/td>\n            <td><code>char *<\/code><\/td>\n          <td>\ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \uc2dd\ubcc4\uc790. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4. \ud328\ud0a4\uc9c0\uc758 \uba85\uba85 \uaddc\uce59\uc5d0 \ub530\ub978\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<code>com.sun.hotspot.bar<\/code><\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionEventInfo.short_description\">short_description<\/code><\/td>\n          <td><code>char *<\/code><\/td>\n          <td>\uc774\ubca4\ud2b8\ub97c 1 \ubb38\uc73c\ub85c \uc124\uba85. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionEventInfo.param_count\">param_count<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td><code>jvmtiEnv *jvmti_env<\/code> \ub97c \uc81c\uc678\ud558\ub294 \ud30c\ub77c\ubbf8\ud130\uc218<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"jvmtiExtensionEventInfo.params\">params<\/code><\/td>\n            <td><code><a href=\"#jvmtiParamInfo\">jvmtiParamInfo<\/a> *<\/code><\/td>\n            <td><a href=\"#jvmtiExtensionEventInfo.param_count\"><code>param_count<\/code><\/a> \ud30c\ub77c\ubbf8\ud130\uc758 \ubc30\uc5f4 (<code>jvmtiEnv *jvmti_env<\/code> \ub97c \uc81c\uc678\ud55c\ub2e4)<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetExtensionEvents.extension_count_ptr\">extension_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetExtensionEvents.extensions\">extensions<\/code><\/td>\n         <td><code><a href=\"#jvmtiExtensionEventInfo\">jvmtiExtensionEventInfo<\/a> **<\/code><\/td>\n         <td>\ud655\uc7a5 \uc774\ubca4\ud2b8 \uc815\ubcf4\uc758 \ubc30\uc5f4\uc744, \uc774\ubca4\ud2b8 \ub9c8\ub2e4 1 \uac1c(\uc0b4)\uc529 \ub3cc\ub824\uc900\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiExtensionEventInfo*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiExtensionEventInfo*<\/code> \ub294, \uc0ac\uc774\uc988 <code>*extension_count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionEventInfo<\/code> \uc758 <code>id<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionEventInfo<\/code> \uc758 <code>short_description<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiExtensionEventInfo<\/code> \uc758 <code>params<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <code>jvmtiParamInfo<\/code> \uc758 <code>name<\/code> \ud544\ub4dc\uc5d0 \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetExtensionEvents.extension_count_ptr\"><code>extension_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetExtensionEvents.extensions\"><code>extensions<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"jvmtiExtensionEvent\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud655\uc7a5 \uc774\ubca4\ud2b8<\/h3>\n\n<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"90%\">\n    <tbody>\n       <tr>\n          <td>\n          <blockquote>\n          <pre>\ntypedef void (JNICALL *jvmtiExtensionEvent)\n    (jvmtiEnv* jvmti_env,\n      ...);<\/pre>\n          <\/blockquote>\n         \uad6c\ud604 \uace0\uc720\uc758 \uc774\ubca4\ud2b8\uc785\ub2c8\ub2e4. \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\uc758 \uc124\uc815\uc5d0\ub294,<a href=\"#SetExtensionEventCallback\"><code>SetExtensionEventCallback<\/code><\/a> \ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\n\n         <p>&nbsp;<\/p>\n         \ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub294, \uc774 \uc815\uc758\uc5d0 \uc77c\uce58\ud558\ub294 \uac83 \uac19\uc740 \uc120\uc5b8\ud615\uc758 \uac00\ubcc0 \uc778\uc218\uac00 \uc544\ub2c8\uba74 \uc548\ub429\ub2c8\ub2e4. \uc120\uc5b8\ud615\uc758 \uac00\ubcc0 \uc778\uc218\uac00 \uc544\ub2cc \uacbd\uc6b0, \uc77c\ubd80\uc758 \ud50c\ub7ab\ud3fc\uc5d0\uc11c, \uc77c\uce58\ud558\uc9c0 \uc54a\ub294 \uaddc\uc57d\uc758 \ud638\ucd9c\uc774\ub098 \ubbf8\uc815\ub3c4\ub9ac\uc758 \ub3d9\uc791\uc774 \ubc1c\uc0dd\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n         \uc608\ub97c \ub4e4\uc5b4,<a href=\"#GetExtensionEvents\"><code>GetExtensionEvents<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c <code>jvmtiParamInfo<\/code> \uc5d0,<code>jint<\/code> \ud30c\ub77c\ubbf8\ud130\uc758 \uc874\uc7ac\uac00 \ub098\ud0c0\ub098\uace0 \uc788\ub294 \uacbd\uc6b0, \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc120\uc5b8\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.\n\n          <blockquote>\n          <pre>\n    void JNICALL myHandler(jvmtiEnv* jvmti_env, jint myInt, ...)\n<\/pre>\n           <\/blockquote>\n         <code>...<\/code>\u300d(\uc740)\ub294 \uac00\ubcc0 \uc778\uc218\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\n\n            <p>&nbsp;<\/p>\n\n           <p>&nbsp;<\/p>\n\n           <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n               <tbody>\n                   <tr bgcolor=\"#CCCCFF\">\n                      <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n                    <\/tr>\n                 <tr bgcolor=\"#EEEEFF\">\n                      <td>\uc774\ub984<\/td>\n                     <td>\ud615<\/td>\n                       <td>\uc124\uba85<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiExtensionEvent.jvmti_env\">jvmti_env<\/code><\/td>\n                      <td><code><a href=\"#jvmtiEnv\">jvmtiEnv<\/a> *<\/code><\/td>\n                        <td>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740, \ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \uc720\uc77c\ud55c \uace0\uc815 \ud30c\ub77c\ubbf8\ud130.<\/td>\n                 <\/tr>\n                 <tr>\n                      <td><code id=\"jvmtiExtensionEvent....\">...<\/code><\/td>\n                      <td><code>...<\/code><\/td>\n                     <td>\ud655\uc7a5 \uc774\ubca4\ud2b8 \uace0\uc720\uc758 \ud30c\ub77c\ubbf8\ud130<\/td>\n                  <\/tr>\n             <\/tbody>\n          <\/table>\n          <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetExtensionEventCallback\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud655\uc7a5 \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetExtensionEventCallback(jvmtiEnv* env,\n            jint extension_event_index,\n            jvmtiExtensionEvent callback)<\/pre>\n<\/blockquote>\n\n<p>\ud655\uc7a5 \uc774\ubca4\ud2b8\uc5d0 \ucf5c\ubc31 \ud568\uc218\ub97c \uc124\uc815\ud574, \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud569\ub2c8\ub2e4. \ucf5c\ubc31\uc774 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774\ubca4\ud2b8\ub97c \ubb34\ud6a8\ub85c \ud569\ub2c8\ub2e4. \ud45c\uc900 \uc774\ubca4\ud2b8\uc640\ub294 \ub2ec\ub77c, \ucf5c\ubc31\uc744 \uc124\uc815\ud574 \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud558\ub294 \ucc98\ub9ac\ub294 \ub2e8\uc77c\uc758 \uc870\uc791\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>126<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetExtensionEventCallback.extension_event_index\">extension_event_index<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc124\uc815\ud558\ub294 \ucf5c\ubc31\uc744 \uc2dd\ubcc4\ud55c\ub2e4. \uc774 \uc778\ub371\uc2a4\ub294,<a href=\"#jvmtiExtensionEventInfo\"><code>jvmtiExtensionEventInfo<\/code><\/a> \uc758 <a href=\"#jvmtiExtensionEventInfo.extension_event_index\"><code>extension_event_index<\/code><\/a> \ud544\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"SetExtensionEventCallback.callback\">callback<\/code><\/td>\n          <td><code><a href=\"#jvmtiExtensionEvent\">jvmtiExtensionEvent<\/a> <\/code><\/td>\n           <td><code>callback<\/code> \uac00 <code>NULL<\/code> \uc774\uc678\uc758 \uacbd\uc6b0,<code>callback<\/code> \ub97c \uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\ub85c \uc124\uc815\ud574, \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         <code>callback<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uc774\ubca4\ud2b8\ub97c \ubb34\ud6a8\ub85c \ud55c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetExtensionEventCallback.extension_event_index\"><code>extension_event_index<\/code><\/a> \uac00 <a href=\"#GetExtensionEvents\"><code>GetExtensionEvents<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c <a href=\"#jvmtiExtensionEventInfo.extension_event_index\"><code>extension_event_index<\/code><\/a> \uc774 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"capability\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uad8c\ud55c<\/h2>\n\n<p>\uad8c\ud55c \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#GetPotentialCapabilities\">\uc7a0\uc7ac\uc801\uc778 \uad8c\ud55c\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#AddCapabilities\">\uad8c\ud55c\uc758 \ucd94\uac00<\/a><\/li>\n <li><a href=\"#RelinquishCapabilities\">\uad8c\ud55c\uc758 \ubc29\ud3d0<\/a><\/li>\n  <li><a href=\"#GetCapabilities\">\uae30\ub2a5\uc758 \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>\uad8c\ud55c\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiCapabilities\"><code>jvmtiCapabilities<\/code><\/a> - \uad8c\ud55c\uc758 \uad6c\uc870\uccb4<\/li>\n<\/ul>\n\n<p>\uad8c\ud55c \ud568\uc218\uc5d0\uc11c\ub294, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uae30\ub2a5 (\uc5b4\ub290 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\ub294\uc9c0, \uc5b4\ub5a4 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub294\uc9c0, \uc774\ub7ec\ud55c \uc774\ubca4\ud2b8\ub098 \ud568\uc218\uac00 \uc5b4\ub5a4 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uc744\uae4c \ub4f1)\uc744 \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac01 \ud568\uc218 \ubc0f \uc774\ubca4\ud2b8\uc758 \u300c\uad8c\ud55c\u300d\uc758 \uc139\uc158\uc5d0\ub294, \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uace0 \uc788\ub294 \uad8c\ud55c\uc758 \uc124\uba85\uc774 \uae30\uc7ac\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 (\uc874\uc7ac\ud558\ub294 \uacbd\uc6b0). \u300c\ud544\uc694\ud55c \uae30\ub2a5\u300d\uc740, \uc0ac\uc6a9 \uac00\ub2a5\ud558\uace0, \uad8c\ud55c\uc744 \ucd94\uac00\ud558\uc9c0 \uc54a\uc544\ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uac83\uc744 \ub098\ud0c0\ub0b4\uace0 \uc788\uc2b5\ub2c8\ub2e4. \u300c\uc784\uc758\uc758 \uae30\ub2a5\u300d\uc740, \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uad8c\ud55c\uc774 \ud544\uc694\ud55c \uac83\uc744 \ub098\ud0c0\ub0b4\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uad8c\ud55c\uc744 \uac00\uc9c0\uae30 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0)\ub294, \uc5d0\uc774\uc804\ud2b8\ub294<a href=\"#AddCapabilities\">\uad8c\ud55c\uc744 \ucd94\uac00<\/a>\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \u300c\uc784\uc758\uc758 \uae30\ub2a5\u300d\uc5d0\ub294, \uae30\ub2a5 \uc138\ud2b8\ub97c \ud655\uc7a5\ud558\ub294 \uad8c\ud55c\uc758 \uc124\uba85\uc774 \uae30\uc7ac\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac01 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc744 \uc7a0\uc7ac\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uad8c\ud55c\uc740 \ub2e4\ub985\ub2c8\ub2e4. \uad6c\ud604\uc5d0 \uc758\ud574, \ub2e4\uc74c\uacfc \uac19\uc740 \uc77c\uc744 \ub9d0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li>\uacb0\ucf54 \ucd94\uac00\ud574\uc11c\ub294 \uc548 \ub418\ub294 \uad8c\ud55c\uc774 \uc788\ub2e4<\/li>\n  <li>\ubaa8\ub4e0 \ud658\uacbd\uc5d0\uc11c, \uc5b4\ub290 \uad8c\ud55c\uc744 <code>OnLoad<\/code> \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ucd94\uac00\ud560 \uc218 \uc788\ub2e4<\/li>\n   <li>\uc5b4\ub290 \uad8c\ud55c\uc744 <code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ucd94\uac00\ud560 \uc218 \uc5c6\ub2e4<\/li>\n <li>\uc5b4\ub290 \uad8c\ud55c\uc744 \ubcf5\uc218\uc758 \ud658\uacbd\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \uc18c\uc720\ud560 \uc218 \uc5c6\ub2e4<\/li>\n    <li>\uc5b4\ub290 \uad8c\ud55c\uc744 \ubcf5\uc218\uc758 \ud658\uacbd\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \uc18c\uc720\ud560 \uc218 \uc5c6\ub2e4. \ub610,<code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc18c\uc720\ud560 \uc218 \uc5c6\ub2e4<\/li>\n   <li>\uadf8 \uc678<\/li>\n<\/ul>\n\n<p>\uc790\uc8fc, \uad8c\ud55c\uc744 \ucd94\uac00\ud558\ub294 \uac83\uc5d0 \uc758\ud574, \uc2e4\ud589 \uc18d\ub3c4, \uae30\ub3d9 \uc2dc\uac04, \uba54\ubaa8\ub9ac \uc0ac\uc6a9\ub7c9(footprint) \ub4f1\uc5d0 \uc601\ud5a5\uc774 \ub098\uc624\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uad8c\ud55c\uc744 \uc0ac\uc6a9\ud558\ub294 \uc624\ubc84\ud5e4\ub4dc\ub294, \uad8c\ud55c\uc744 \uc18c\uc720\ud558\ub294 \uc624\ubc84\ud5e4\ub4dc\uc640\ub294 \uc644\uc804\ud788 \ub2e4\ub978 \uc810\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694. \uc608\ub85c\uc11c \uc2a4\ud15d \uc2e4\ud589\uc5d0 \ub300\ud574 \uc0dd\uac01\ud574 \ubd05\uc2dc\ub2e4. \uc2a4\ud15d \uc2e4\ud589\uc774 \uc720\ud6a8\ud55c \uacbd\uc6b0\ub294 (\uc774\ubca4\ud2b8\uac00 \uc720\ud6a8\ud574, \uc561\ud2f0\ube0c\ud558\uac8c \uc774\ubca4\ud2b8\ub97c \uc1a1\uc2e0\ud558\uace0 \uc788\ub294 \uc0c1\ud0dc), \uc5b4\ub290 \uad6c\ud604\uc5d0\uc11c\ub3c4, \uac01 \uba85\ub839\uc73c\ub85c \uc774\ubca4\ud2b8\ub97c \uc1a1\uc2e0\ud574, \ucc98\ub9ac\ud558\ub294 \uc624\ubc84\ud5e4\ub4dc\uac00 \ucee4\uc9d1\ub2c8\ub2e4. \ud55c\ud3b8, \uad8c\ud55c\uc744 \uc18c\uc720\ud558\ub294 \uc624\ubc84\ud5e4\ub4dc\ub294, \uad6c\ud604\uc5d0 \uc758\ud574 \ud06c\uae30\ub3c4 \ud558\uace0 \uc791\uac70\ub098 \ud569\ub2c8\ub2e4. \ub610, \uad8c\ud55c\uc744 \uc7a0\uc7ac\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc744\uc9c0 \uc5b4\ub5a8\uc9c0\ub3c4, \uad6c\ud604\uc5d0 \ub530\ub77c\uc11c \ub2e4\ub985\ub2c8\ub2e4. \uc0ac\uc6a9\uc608\ub97c \ub2e4\uc74c\uc5d0 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n    <li>\uc5b4\ub290 VM \ub294, \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c native code\uc5d0 \ucef4\ud30c\uc77c \ud558\ub294 \uac83\uc5d0 \uc758\ud574 \ubaa8\ub4e0 \uac83\uc744 \uc2e4\ud589\ud574, \uc2a4\ud15d \uc2e4\ud589 \uba85\ub839\uc744 \uc0dd\uc131\ud560 \uc218 \uc5c6\uac8c \ub418\uace0 \uc788\ub2e4. \uc774 \uad6c\ud604\uc5d0\uc11c\ub294, \uad8c\ud55c\uc740 \ucd94\uac00\ud560 \uc218 \uc5c6\ub2e4.<\/li>\n <li>\ub2e4\ub978 VM \ub294, \uc2e4\ud589\uc744 \uc2a4\ud15d \uc2e4\ud589 interpreter\uc5d0 \uc5b8\uc81c\ub77c\ub3c4 \uad50\uccb4\ub41c\ub2e4. \uc774 \uad6c\ud604\uc5d0\uc11c\ub294, \uad8c\ud55c\uc744 \uc18c\uc720\ud558\ub294 \uac83\uc73c\ub85c \uc624\ubc84\ud5e4\ub4dc\ub294 \uc0dd\uae30\uc9c0 \uc54a\uace0, \uad8c\ud55c\uc740 \uc5b8\uc81c\ub77c\ub3c4 \ucd94\uac00\ud560 \uc218 \uc788\ub2e4.<\/li>\n  <li>\ud55c\uce35 \ub354 \ub2e4\ub978 VM \ub294, \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \ucef4\ud30c\uc77c \ub610\ub294 \uc2a4\ud15d \uc2e4\ud589 \uac00\ub2a5\ud55c \ud574\uc11d\uc774 \ub05d\ub09c \uc2e4\ud589 \uc5d4\uc9c4\uc744 \uae30\ub3d9\uc2dc\uc5d0 \uc120\ud0dd\ud560 \uc218 \uc788\uc9c0\ub9cc, \uc774\uac83\ub4e4\uc744 \ubc14\uafc0 \uc218 \uc5c6\ub2e4. \uc774 \uad6c\ud604\uc5d0\uc11c\ub294,<code>OnLoad<\/code> \ub2e8\uacc4 (\ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uac1c\uc2dc\ud558\uae30 \uc804)\uc5d0\uc11c \uad8c\ud55c\uc744 \ucd94\uac00\ud560 \ud544\uc694\uac00 \uc788\ub2e4. \uc2a4\ud15d \uc2e4\ud589\uc744 \uc0ac\uc6a9\ud588\ub358 \uc801\uc774 \uc5c6\ub294 \uacbd\uc6b0\uc5d0\uc11c\ub3c4, \uc2e4\ud589 \uc18d\ub3c4\uc5d0\ub294 \uc0c1\ub2f9\ud55c \uc601\ud5a5\uc774 \uc788\ub2e4.<\/li>\n   <li>\ud55c\uce35 \ub354 \ub2e4\ub978 VM \ub294, \ucef4\ud30c\uc77c\uc774 \ub05d\ub09c \ubc14\uc774\ud2b8 \ucf54\ub4dc \ub610\ub294 \uc0dd\uc131\uc774 \ub05d\ub09c interpreter\uc5d0 [is single stepping on] \uccb4\ud06c\ub97c \ucd94\uac00\ud560 \uc218 \uc788\ub2e4. \uc774 \uad6c\ud604\uc5d0\uc11c\ub3c4,<code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \uad8c\ud55c\uc744 \ucd94\uac00\ud560 \ud544\uc694\uac00 \uc788\uc9c0\ub9cc, \uc624\ubc84\ud5e4\ub4dc ( \uac01 \uba85\ub839\uc758 \ud14c\uc2a4\ud2b8\uc640 \ube0c\ub79c\uce58(branch))\ub294 \uaf64 \ub0ae\uc544\uc9c4\ub2e4.<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI <a href=\"#environments\">\ud658\uacbd <\/a>\ub9c8\ub2e4, \uace0\uc720\uc758 \uad8c\ud55c \uc138\ud2b8\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ucd5c\ucd08, \uc774 \uc138\ud2b8\ub294 \ube48 \uc0c1\ud0dc(empty)\uc785\ub2c8\ub2e4. \ud544\uc694\ud55c \uad8c\ud55c\uc774 \uc788\uc73c\uba74, \ucd94\uac00\ud569\ub2c8\ub2e4. \uac00\ub2a5\ud558\uba74, \uad8c\ud55c\uc740 <code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \ucd94\uac00\ud569\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uac00\uc0c1 \uba38\uc2e0\uc5d0\uc11c\ub294, \ud2b9\uc815\uc758 \uad8c\ud55c\uc5d0\ub294, \uac00\uc0c1 \uba38\uc2e0\uc6a9\uc758 \ud2b9\ubcc4\ud55c \uc124\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc774 \uc124\uc815\uc740, \uac00\uc0c1 \uba38\uc2e0\uc758 \uc2e4\ud589\uc744 \uac1c\uc2dc\ud558\uae30 \uc804\uc5d0,<code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \uc2e4\uc2dc\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ucd94\uac00\ud55c \uad8c\ud55c\uc744 \uc0ad\uc81c\ud560 \uc218 \uc788\ub294 \uac83\uc740, \ud658\uacbd\uc5d0 \uc758\ud574 \uba85\uc2dc\uc801\uc73c\ub85c \ubc29\ud3d0\ub418\uc5c8\uc744 \uacbd\uc6b0\ub9cc\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294,<a href=\"#GetPotentialCapabilities\">\uc774 VM \ub97c \uc7a0\uc7ac\uc801\uc73c\ub85c \uc81c\uacf5\ud560 \uc218 \uc788\ub294 \uad8c\ud55c\uc744 \ud2b9\uc815\ud574<\/a>,<a href=\"#AddCapabilities\">\uc0ac\uc6a9\ud558\ub294 \uad8c\ud55c\uc744 \ucd94\uac00\ud574<\/a>,<a href=\"#RelinquishCapabilities\">\ubd88\ud544\uc694\ud558\uac8c \ub41c \uad8c\ud55c\uc744 \ud574\uc81c\ud574<\/a>,<a href=\"#GetCapabilities\">\ud604\uc7ac \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uad8c\ud55c\uc744 \uc870\uc0ac\ud560 \uc218\uac00 <\/a>\uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"capabilityExamples\">\uad8c\ud55c\uc758 \uc608<\/h4>\n\n<p>\uc608\ub97c \ub4e4\uc5b4,<code>OnLoad<\/code> \ud568\uc218\ub85c \uc2e0\uaddc\uc5d0 \uae30\ub3d9\ud55c \uc5d0\uc774\uc804\ud2b8\ub85c, \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubaa8\ub4e0 \uad8c\ud55c\uc744 \uc720\ud6a8\ud558\uac8c \ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294 \uae30\ub2a5\uc5d0 \uc758\ud574 \uc5d0\uc774\uc804\ud2b8\uc758 \ud37c\ud3ec\uba3c\uc2a4\uac00 \uc800\uac10 \ud560 \uac00\ub2a5\uc131\uc774 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc77c\ubc18\uc801\uc73c\ub85c \uc774 \uc124\uc815\uc740 \ucd94\ucc9c\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc5d0, C \ub85c \uae30\uc220\ud55c \ucf54\ub4dc\uc608\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n        jvmtiCapabilities capa;\n        jvmtiError err;\n\n        err = (*jvmti)-&gt;GetPotentialCapabilities(jvmti, &amp;capa);\n        if (err == JVMTI_ERROR_NONE) {\n           err = (*jvmti)-&gt;AddCapabilities(jvmti, &amp;capa);\n      <\/pre>\n<\/blockquote>\n\n<p>\uc608\ub97c \ub4e4\uc5b4, \uc5d0\uc774\uc804\ud2b8\ub85c, \uba54\uc18c\ub4dc\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\uc744\uc9c0 \uc5b4\ub5a8\uc9c0 \uccb4\ud06c\ud558\ub294 \uacbd\uc6b0 (\uc774\uc804\uc5d0 \uc774 \uad8c\ud55c\uc744 \ucd94\uac00\ud574, \uc544\uc9c1 \ubc29\ud3d0\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0 \uc5b4\ub5a4\uc9c0\ub97c \uccb4\ud06c\ud558\ub294 \uacbd\uc6b0), C \ub85c \uae30\uc220\ud55c \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n        jvmtiCapabilities capa;\n        jvmtiError err;\n\n        err = (*jvmti)-&gt;GetCapabilities(jvmti, &amp;capa);\n        if (err == JVMTI_ERROR_NONE) {\n           if (capa.can_get_bytecodes) { ... } }\n      <\/pre>\n<\/blockquote>\n\n<h4 id=\"jvmtiCapabilities\">\uad8c\ud55c\uc758 \uad6c\uc870\uccb4<\/h4>\n\n<p>\uc774 \uce74\ud14c\uace0\ub9ac\uc5d0 \ud3ec\ud568\ub418\ub294 \ud568\uc218\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c \uad6c\uc870\uccb4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774 \uad6c\uc870\uccb4\uc5d0\ub294, \uac01 \uad8c\ud55c\uc73c\ub85c \ub300\uc751\ud558\ub294 \ubd88\ud615 \ud50c\ub798\uadf8\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<blockquote>\n<pre>\ntypedef struct {\n    unsigned int can_tag_objects : 1;\n    unsigned int can_generate_field_modification_events : 1;\n    unsigned int can_generate_field_access_events : 1;\n    unsigned int can_get_bytecodes : 1;\n    unsigned int can_get_synthetic_attribute : 1;\n    unsigned int can_get_owned_monitor_info : 1;\n    unsigned int can_get_current_contended_monitor : 1;\n    unsigned int can_get_monitor_info : 1;\n    unsigned int can_pop_frame : 1;\n    unsigned int can_redefine_classes : 1;\n    unsigned int can_signal_thread : 1;\n    unsigned int can_get_source_file_name : 1;\n    unsigned int can_get_line_numbers : 1;\n    unsigned int can_get_source_debug_extension : 1;\n    unsigned int can_access_local_variables : 1;\n    unsigned int can_maintain_original_method_order : 1;\n    unsigned int can_generate_single_step_events : 1;\n    unsigned int can_generate_exception_events : 1;\n    unsigned int can_generate_frame_pop_events : 1;\n    unsigned int can_generate_breakpoint_events : 1;\n    unsigned int can_suspend : 1;\n    unsigned int can_redefine_any_class : 1;\n    unsigned int can_get_current_thread_cpu_time : 1;\n    unsigned int can_get_thread_cpu_time : 1;\n    unsigned int can_generate_method_entry_events : 1;\n    unsigned int can_generate_method_exit_events : 1;\n    unsigned int can_generate_all_class_hook_events : 1;\n    unsigned int can_generate_compiled_method_load_events : 1;\n    unsigned int can_generate_monitor_events : 1;\n    unsigned int can_generate_vm_object_alloc_events : 1;\n    unsigned int can_generate_native_method_bind_events : 1;\n    unsigned int can_generate_garbage_collection_events : 1;\n    unsigned int can_generate_object_free_events : 1;\n    unsigned int can_force_early_return : 1;\n    unsigned int can_get_owned_monitor_stack_depth_info : 1;\n    unsigned int can_get_constant_pool : 1;\n    unsigned int can_set_native_method_prefix : 1;\n    unsigned int can_retransform_classes : 1;\n    unsigned int can_retransform_any_class : 1;\n    unsigned int can_generate_resource_exhaustion_heap_events : 1;\n    unsigned int can_generate_resource_exhaustion_threads_events : 1;\n    unsigned int : 7;\n    unsigned int : 16;\n    unsigned int : 16;\n    unsigned int : 16;\n    unsigned int : 16;\n    unsigned int : 16;\n} jvmtiCapabilities;<\/pre>\n<\/blockquote>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiCapabilities<\/code> - \uad8c\ud55c\uc758 \uad6c\uc870\uccb4<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td colspan=\"3\">\ubaa8\ub4e0 \ud615\ud0dc\ub294 <code>unsigned int : 1<\/code><\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\uc124\uba85<\/td>\n         <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td><code>can_tag_objects<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_tag_objects\"><\/a> <a href=\"#Heap\">heap\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\uc5d0 \uc124\uba85\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \ud0dc\uadf8\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_field_modification_events<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_generate_field_modification_events\"><\/a> \ud544\ub4dc\uc758 \ubcc0\uacbd\uc5d0 \uac10\uc2dc \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_field_access_events<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_generate_field_access_events\"><\/a> \ud544\ub4dc \uc561\uc138\uc2a4\uc5d0 \uac10\uc2dc \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldAccessWatch\"><code>SetFieldAccessWatch<\/code><\/a><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_bytecodes<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_get_bytecodes\"><\/a> \uba54\uc18c\ub4dc <a href=\"#GetBytecodes\"><code>GetBytecodes<\/code><\/a> \uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_synthetic_attribute<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_get_synthetic_attribute\"><\/a> \ud569\uc131 \ud544\ub4dc \ub610\ub294 \ud569\uc131 \uba54\uc18c\ub4dc\uc77c\uc9c0 \uc5b4\ub5a8\uc9c0\ub97c \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\ub294 - <a href=\"#IsFieldSynthetic\"><code>IsFieldSynthetic<\/code><\/a> \uc640 <a href=\"#IsMethodSynthetic\"><code>IsMethodSynthetic<\/code><\/a><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_owned_monitor_info<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_get_owned_monitor_info\"><\/a> \ubaa8\ub2c8\ud130\uc758 \uc18c\uc720\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub294 - <a href=\"#GetOwnedMonitorInfo\"><code>GetOwnedMonitorInfo<\/code><\/a><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_current_contended_monitor<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_get_current_contended_monitor\"><\/a> <a href=\"#GetCurrentContendedMonitor\"><code>GetCurrentContendedMonitor<\/code><\/a> \ub97c \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_monitor_info<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_get_monitor_info\"><\/a> <a href=\"#GetObjectMonitorUsage\"><code>GetObjectMonitorUsage<\/code><\/a> \ub97c \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4.<\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_pop_frame<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_pop_frame\"><\/a> \uc2a4\ud0dd\uc73c\ub85c\ubd80\ud130 \ud504\ub808\uc784\uc744 \ud31d \ud560 \uc218 \uc788\ub294 - <a href=\"#PopFrame\"><code>PopFrame<\/code><\/a><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_redefine_classes<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_redefine_classes\"><\/a> <a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ub85c \ud074\ub798\uc2a4\ub97c \uc7ac\uc815\uc758\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_signal_thread<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_signal_thread\"><\/a> thread\uc5d0 \uc815\uc9c0 \ub610\ub294 \ub07c\uc5b4\ub4e4\uc5b4 \uc2e0\ud638\ub97c \uc1a1\uc2e0\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_source_file_name<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_get_source_file_name\"><\/a> \ud074\ub798\uc2a4\uc758 \uc6d0\uc2dc \ud30c\uc77c\uc758 \uc774\ub984\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_line_numbers<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_get_line_numbers\"><\/a> \uba54\uc18c\ub4dc\uc758 \ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_source_debug_extension<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_get_source_debug_extension\"><\/a> \ud074\ub798\uc2a4\uc758 \uc18c\uc2a4 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_access_local_variables<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_access_local_variables\"><\/a> \uad6d\uc18c \ubcc0\uc218\ub97c \uc124\uc815\ud574, \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_maintain_original_method_order<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_maintain_original_method_order\"><\/a> \ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc5d0 \ucd9c\ud604\ud558\ub294 \uc21c\uc11c\ub85c \uba54\uc18c\ub4dc\ub97c \ub3cc\ub824\uc904 \uc218\uac00 \uc788\ub2e4.<\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_single_step_events<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_generate_single_step_events\"><\/a> <a href=\"#SingleStep\">\uc2a4\ud15d \uc2e4\ud589 <\/a>\uc774\ubca4\ud2b8\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_exception_events<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_generate_exception_events\"><\/a> <a href=\"#Exception\">throw \ub41c \uc608\uc678<\/a>\uc640<a href=\"#ExceptionCatch\">\uc608\uc678 \uce90\uce58 <\/a>\uc774\ubca4\ud2b8\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_frame_pop_events<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_generate_frame_pop_events\"><\/a> <a href=\"#FramePop\"><code>FramePop<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#NotifyFramePop\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_breakpoint_events<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_generate_breakpoint_events\"><\/a> <a href=\"#Breakpoint\"><code>Breakpoint<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#SetBreakpoint\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_suspend<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_suspend\"><\/a> thread\ub97c \uc911\ub2e8\ud574, \uc7ac\uac1c\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_redefine_any_class<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_redefine_any_class\"><\/a> \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4\uc5d0\uc11c\ub3c4 \ubc30\uc5f4 \ud074\ub798\uc2a4\ub3c4 \uc544\ub2cc \uc784\uc758\uc758 \ud074\ub798\uc2a4\ub97c \ubcc0\uacbd (\uc7ac\ubcc0\ud658 \ub610\ub294 \uc7ac\uc815\uc758)\ud560 \uc218 \uc788\ub2e4. <a href=\"#IsModifiableClass\"><code>IsModifiableClass<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_current_thread_cpu_time<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_get_current_thread_cpu_time\"><\/a> \ud604\uc7ac\uc758 thread CPU \uc2dc\uac04\uc744<a href=\"#GetCurrentThreadCpuTime\">\ucde8\ub4dd<\/a>\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_thread_cpu_time<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_get_thread_cpu_time\"><\/a> thread CPU \uc2dc\uac04\uc744<a href=\"#GetThreadCpuTime\">\ucde8\ub4dd<\/a>\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _method_entry_events<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_generate_method_entry_events\"><\/a> \uba54\uc18c\ub4dc\uc758 \uc785\ub825\uc2dc\uc5d0 \uba54\uc18c\ub4dc \uc785\ub825 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _method_exit_events<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_generate_method_exit_events\"><\/a> \uba54\uc18c\ub4dc\uc758 \uc885\ub8cc\uc2dc\uc5d0 \uba54\uc18c\ub4dc \uc885\ub8cc \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _all_class_hook_events<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_generate_all_class_hook_events\"><\/a> \ub85c\ub4dc \ub41c \ubaa8\ub4e0 \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c, ClassFileLoadHook \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _compiled_method_load_events<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_generate_compiled_method_load_events\"><\/a> \uba54\uc18c\ub4dc\uc758 \ucef4\ud30c\uc77c\uc2dc \ub610\ub294 \uc5b8\ub85c\ub4dc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _monitor_events<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_generate_monitor_events\"><\/a> \ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9\uc728\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _vm_object_alloc_events<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_generate_vm_object_alloc_events\"><\/a> \uac1d\uccb4\uc758 VM \ud560\ub2f9\ud574\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _native_method_bind_events<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_generate_native_method_bind_events\"><\/a> \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \uad6c\ud604\uc5d0 \ubc14\uc778\ub4dc \ub418\uace0 \uc788\uc744 \ub54c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _garbage_collection_events<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_generate_garbage_collection_events\"><\/a> \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac1c\uc2dc \ub610\ub294 \uc885\ub8cc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n            <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate<br \/>\n          _object_free_events<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_generate_object_free_events\"><\/a> \uac00\ube44\uc9c0 \uceec\ub809\ud130\uac00 \uac1d\uccb4\ub97c \ud574\uc81c\ud560 \uacbd\uc6b0\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n         <td>1.0<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_force_early_return<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_force_early_return\"><\/a> <a href=\"#ForceEarlyReturn\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c\uc758 \uce74\ud14c\uace0\ub9ac<\/a>\ub85c \uc124\uba85\ud558\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc870\uae30 \ubcf5\uadc0\ud560 \uc218 \uc788\ub2e4.<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_owned_monitor_stack_depth_info<\/code><\/td>\n          <td><a name=\"jvmtiCapabilities.can_get_owned_monitor_stack_depth_info\"><\/a> \uc18c\uc720\ub418\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uc5d0 \uad00\ud55c \uc815\ubcf4\uc640 \uc2a4\ud0dd\uc758 \uae4a\uc774\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub294 - <a href=\"#GetOwnedMonitorStackDepthInfo\"><code>GetOwnedMonitorStackDepthInfo<\/code><\/a><\/td>\n            <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_get_constant_pool<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_get_constant_pool\"><\/a> \uc788\ub294 \ud074\ub798\uc2a4\uc758 \uc815\uc218 \ud480\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub294 - <a href=\"#GetConstantPool\"><code>GetConstantPool<\/code><\/a><\/td>\n          <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_set_native_method_prefix<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_set_native_method_prefix\"><\/a> \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ud574\uacb0\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \uc801\uc6a9\ud574\uc57c \ud560 \uc811\ub450\uc0ac\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetNativeMethodPrefix\"><code>SetNativeMethodPrefix<\/code><\/a> \ubc0f <a href=\"#SetNativeMethodPrefixes\"><code>SetNativeMethodPrefixes<\/code><\/a><\/td>\n         <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_retransform_classes<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_retransform_classes\"><\/a> <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \uc73c\ub85c \ud074\ub798\uc2a4\ub97c \uc7ac\ubcc0\ud658\ud560 \uc218 \uc788\ub2e4. \ud2b9\uc815\uc758 \uad6c\ud604\uc5d0 \uc758\ud55c \uc774 \uad8c\ud55c\uc758 \uc81c\ud55c (<a href=\"#capability\">\u300c\uad8c\ud55c\u300d<\/a>\uc139\uc158\uc744 \ucc38\uc870)\uc5d0 \uac00\uc138\ud574 \uc774 \uad8c\ud55c\uc740, \uc774 \ud658\uacbd\uc5d0\uc11c <a href=\"#ClassFileLoadHook\"><code>ClassFileLoadHook<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \ucc98\uc74c \uc720\ud6a8\ud654 \ub418\uae30 \uc804\uc73c\ub85c \uc124\uc815\ud574\uc57c \ud55c\ub2e4. <code>ClassFileLoadHook<\/code> \uac00 \ucc98\uc74c \uc720\ud6a8\ud654 \ub41c \uc2dc\uc810\uc5d0\uc11c \uc774 \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\ub294 \ud658\uacbd\uc744 \u300c\uc7ac\ubcc0\ud658 \uac00\ub2a5\u300d\uc774\ub77c\uace0 \ubd80\ub978\ub2e4. <i><\/i><code>ClassFileLoadHook<\/code> \uac00 \ucc98\uc74c \uc720\ud6a8\ud654 \ub41c \uc2dc\uc810\uc5d0\uc11c \uc774 \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\uc9c0 \uc54a\ub294 \ud658\uacbd\uc740 \u300c\uc7ac\ubcc0\ud658 \ubd88\uac00\ub2a5\u300d\uc774\ub77c\uace0 \ubd80\ub978\ub2e4. <i><\/i><\/td>\n         <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_retransform_any_class<\/code><\/td>\n           <td><a name=\"jvmtiCapabilities.can_retransform_any_class\"><\/a> <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ub97c \uc784\uc758\uc758 \ud074\ub798\uc2a4\uc5d0\uc11c \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4 (<a href=\"#jvmtiCapabilities.can_retransform_classes\"><code>can_retransform_classes<\/code><\/a> \ub3c4 \uc124\uc815\ud560 \ud544\uc694\uac00 \uc788\ub2e4).<\/td>\n            <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_resource_exhaustion_heap_events<\/code><\/td>\n            <td><a name=\"jvmtiCapabilities.can_generate_resource_exhaustion_heap_events\"><\/a> VM \uac00 Java<sup style=\"font-size: xx-small\">TM<\/sup> \ud50c\ub7ab\ud3fc heap\ub85c\ubd80\ud130 \uba54\ubaa8\ub9ac\uc758 \ud560\ub2f9\uc744 \uc2e4\uc2dc\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0, \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4. <a href=\"#ResourceExhausted\"><code>ResourceExhausted<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n           <td>1.1<\/td>\n      <\/tr>\n     <tr>\n          <td><code>can_generate_resource_exhaustion_threads_events<\/code><\/td>\n         <td><a name=\"jvmtiCapabilities.can_generate_resource_exhaustion_threads_events\"><\/a> VM \uac00 thread\ub97c \uc791\uc131\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4. <a href=\"#ResourceExhausted\"><code>ResourceExhausted<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetPotentialCapabilities\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc7a0\uc7ac\uc801\uc778 \uad8c\ud55c\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetPotentialCapabilities(jvmtiEnv* env,\n            jvmtiCapabilities* capabilities_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetPotentialCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \ub97c \uac1c\uc785\uc2dc\ucf1c, \ud604\uc2dc\uc810\uc5d0\uc11c \uc774 \ud658\uacbd\uc744 \uc18c\uc720\ud560 \uc218 \uc788\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uae30\ub2a5\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ubc18\ud658\ub418\ub294 \uae30\ub2a5\uc774, VM \uac00 \uad6c\ud604\ud558\ub294 \uc644\uc804\ud55c \uad8c\ud55c \uc138\ud2b8\uc640\ub294 \ub2e4\ub978 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9\ud558\ub294 \uac83\uc740, \ub2e4\ub978 \ud658\uacbd\uc774, \ubcf5\uc218\uc758 \ud658\uacbd\uc5d0 \uc758\ud55c \uc18c\uc720\ub97c \ud5c8\uac00\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uace0 \uc788\ub294 \uacbd\uc6b0, \uadf8\ub9ac\uace0 \ud604\uc7ac\uc758<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uac00 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c, \ud2b9\uc815\uc758 \uad8c\ud55c\uc740 <code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ucd94\uac00\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad8c\ud55c\uc758 \uc77c\ubd80 \ub610\ub294 \ubaa8\ub4e0 \uac83\uc744 \uc124\uc815\ud558\ub824\uba74 ,<a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac \uc18c\uc720\ub418\uace0 \uc788\ub294 \uad8c\ud55c\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc77c\ubc18\uc801\uc73c\ub85c, \uc774 \ud568\uc218\ub294,<code>OnLoad<\/code> \ud568\uc218\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc77c\ubd80\uc758 \uac00\uc0c1 \uba38\uc2e0\uc5d0\uc11c\ub294, \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ucd94\uac00\ud560 \uc218 \uc788\ub294 \uad8c\ud55c\uc138\ud2b8\uac00 \uc81c\ud55c\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0, \uc7a0\uc7ac\uc801\uc73c\ub85c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uad8c\ud55c\uc138\ud2b8\uac00,<code>OnLoad<\/code> \ub2e8\uacc4\uc138\ud2b8\uc640\ub294 \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#capabilityExamples\">\u300c\uad8c\ud55c\uc758 \uc608\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>140<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetPotentialCapabilities.capabilities_ptr\">capabilities_ptr<\/code><\/td>\n           <td><code><a href=\"#jvmtiCapabilities\">jvmtiCapabilities<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ucd94\uac00 \uac00\ub2a5\ud55c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uae30\ub2a5\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiCapabilities<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiCapabilities<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetPotentialCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"AddCapabilities\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad8c\ud55c\uc758 \ucd94\uac00<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nAddCapabilities(jvmtiEnv* env,\n            const jvmtiCapabilities* capabilities_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>*<\/code><a href=\"#AddCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \ub0b4\uc5d0\uc11c \uac12\uc774 <code>1<\/code> \uc73c\ub85c \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uad8c\ud55c\uc744 \ucd94\uac00\ud558\ub294 \uac83\uc73c\ub85c, \uc0c8\ub85c\uc6b4 \uad8c\ud55c\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc774\uc804\uc758 \uad8c\ud55c\uc740 \ubaa8\ub450 \ubcf4\uad00 \uc720\uc9c0\ub429\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc774 \ud568\uc218\ub294,<code>OnLoad<\/code> \ud568\uc218\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc77c\ubd80\uc758 \uac00\uc0c1 \uba38\uc2e0\uc5d0\uc11c\ub294, \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ucd94\uac00\ud560 \uc218 \uc788\ub294 \uad8c\ud55c\uc138\ud2b8\uac00 \uc81c\ud55c\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#capabilityExamples\">\u300c\uad8c\ud55c\uc758 \uc608\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>142<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"AddCapabilities.capabilities_ptr\">capabilities_ptr<\/code><\/td>\n            <td><code>const <a href=\"#jvmtiCapabilities\">jvmtiCapabilities<\/a> *<\/code><\/td>\n            <td>\ucd94\uac00\ud558\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad8c\ud55c\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiCapabilities<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_AVAILABLE\"><code>JVMTI_ERROR_NOT_AVAILABLE<\/code><\/a><\/td>\n            <td>\ud544\uc694\ud55c \uad8c\ud55c\uc774 \uc7a0\uc7ac\uc801\uc73c\ub85c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uad8c\ud55c\uc774 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#AddCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"RelinquishCapabilities\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uad8c\ud55c\uc758 \ubc29\ud3d0<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nRelinquishCapabilities(jvmtiEnv* env,\n            const jvmtiCapabilities* capabilities_ptr)<\/pre>\n<\/blockquote>\n\n<p><code>*<\/code><a href=\"#RelinquishCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \ub0b4\uc5d0\uc11c \uac12\uc774 <code>1<\/code> \uc73c\ub85c \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uad8c\ud55c\uc744 \ubc29\ud3d0\ud569\ub2c8\ub2e4. \uad6c\ud604\uc5d0 \ub530\ub77c\uc11c\ub294, \ub2e8\uc77c\uc758 \ud658\uacbd \ubc16\uc5d0 \uad8c\ud55c\uc758 \uc18c\uc720\uac00 \ud5c8\uac00\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4 (<a href=\"#capability\">\u300c\uad8c\ud55c\uc758 \uac1c\uc694\u300d<\/a>\ub97c \ucc38\uc870). \uc774 \ud568\uc218\ub294, \uadf8 \uc678\uc758 \uc5d0\uc774\uc804\ud2b8\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d(\ub4ef\uc774), \uad8c\ud55c\uc744 \ud574\uc81c\ud569\ub2c8\ub2e4. \uadf8 \uc678\uc758 \ubaa8\ub4e0 \uad8c\ud55c\uc740 \ubcf4\uad00 \uc720\uc9c0\ub429\ub2c8\ub2e4. \uad8c\ud55c\uc740,<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130\ub294 \uc5c6\uc5b4\uc9d1\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\uac00 \uc18c\uc720\ud558\uace0 \uc788\uc9c0 \uc54a\ub294 \uad8c\ud55c\uc744 \ubc29\ud3d0\ud558\ub824\uace0 \ud574\ub3c4, \uc5d0\ub7ec\ub294 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>143<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"RelinquishCapabilities.capabilities_ptr\">capabilities_ptr<\/code><\/td>\n         <td><code>const <a href=\"#jvmtiCapabilities\">jvmtiCapabilities<\/a> *<\/code><\/td>\n            <td>\ubc29\ud3d0\ud558\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad8c\ud55c\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiCapabilities<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#RelinquishCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetCapabilities\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uae30\ub2a5\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetCapabilities(jvmtiEnv* env,\n            jvmtiCapabilities* capabilities_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \ub97c \uac1c\uc785\uc2dc\ucf1c, \uc774 \ud658\uacbd\uc774 \ud604\uc7ac \uc18c\uc720\ud558\uace0 \uc788\ub294 \uc784\uc758\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uae30\ub2a5\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc18c\uc720\ud558\uace0 \uc788\ub294 \uac01 \uad8c\ud55c\uc740,<a href=\"#jvmtiCapabilities\">\uad8c\ud55c \uad6c\uc870\uccb4<\/a>\uc758 \ub300\uc751\ud558\ub294 \ud544\ub4dc\uc758 <code>1<\/code> \uc5d0 \uc758\ud574 \ub098\ud0c0\ub0a9\ub2c8\ub2e4. \ud658\uacbd\uc740,<a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ucd94\uac00\uc5d0 \uc131\uacf5\ud560 \ub54c\uae4c\uc9c0, \uad8c\ud55c\uc744 \uc18c\uc720\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud658\uacbd\uc740,<a href=\"#RelinquishCapabilities\"><code>RelinquishCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ubc29\ud3d0\ud558\uc9c0 \uc54a\ub294 \ud55c, \uad8c\ud55c\uc744 \uc783\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uc774 \ud568\uc218\ub294,<code>AddCapabilities<\/code> \ud638\ucd9c\uacfc <code>RelinquishCapabilities<\/code> \ud638\ucd9c\uc758 \ucd5c\uc885 \uacb0\uacfc\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#capabilityExamples\">\u300c\uad8c\ud55c\uc758 \uc608\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>89<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetCapabilities.capabilities_ptr\">capabilities_ptr<\/code><\/td>\n            <td><code><a href=\"#jvmtiCapabilities\">jvmtiCapabilities<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \uae30\ub2a5\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiCapabilities<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiCapabilities<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetCapabilities.capabilities_ptr\"><code>capabilities_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"timers\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\ud0c0\uc774\uba38<\/h2>\n\n<p>\ud0c0\uc774\uba38 \ud568\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#GetCurrentThreadCpuTimerInfo\">\ud604\uc7ac\uc758 thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetCurrentThreadCpuTime\">\ud604\uc7ac\uc758 thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetThreadCpuTimerInfo\">thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetThreadCpuTime\">thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetTimerInfo\">\ud0c0\uc774\uba38 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetTime\">\uc2dc\uac04\uc758 \ucde8\ub4dd<\/a><\/li>\n <li><a href=\"#GetAvailableProcessors\">\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\uc138\uc11c\uc758 \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>\ud0c0\uc774\uba38\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n  <li><a href=\"#jvmtiTimerInfo\"><code>jvmtiTimerInfo<\/code><\/a> - \ud0c0\uc774\uba38 \uc815\ubcf4<\/li>\n    <li><a href=\"#jvmtiTimerKind\"><code>jvmtiTimerKind<\/code><\/a> - \ud0c0\uc774\uba38\uc758 \uc885\ub958<\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, \ud0c0\uc774\ubc0d \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uac31\uc2e0\ub418\ub294 \uc815\ubc00\ub3c4\ub294 \uc9c0\uc815\ub418\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub098\ub178\ucd08\ub2e8\uc704\uc758 \uc815\ubc00\ub3c4\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4\ub9cc, \ubc18\ub4dc\uc2dc \ub098\ub178\ucd08\ub2e8\uc704\uc758 \uc815\ubc00\ub3c4\ub97c \uc5bb\uc744 \uc218 \uc788\ub2e4\uace0\ub294 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ucd5c\ub300\uce58 \ub4f1, \ud0c0\uc774\uba38\uc758 \uc0c1\uc138 \uc815\ubcf4\uc5d0\ub294, \ud0c0\uc774\uba38 \uc815\ubcf4 \ud568\uc218\ub97c \uc0ac\uc6a9\ud574 \uc561\uc138\uc2a4 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"jvmtiTimerInfo\">\ud0c0\uc774\uba38 \uc815\ubcf4<\/h4>\n\n<p>\uac01 \ud0c0\uc774\uba38\uc758 \uc815\ubcf4 \ud568\uc218\ub294, \uc774 \ub370\uc774\ud130 \uad6c\uc870\uccb4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jlong max_value;\n    jboolean may_skip_forward;\n    jboolean may_skip_backward;\n    jvmtiTimerKind kind;\n    jlong reserved1;\n    jlong reserved2;\n} jvmtiTimerInfo;<\/pre>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiTimerInfo<\/code> - \ud0c0\uc774\uba38 \uc815\ubcf4<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiTimerInfo.max_value\">max_value<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ud0c0\uc774\uba38\ub97c \ub3c4\ub2ec\ud560 \uc218 \uc788\ub294 \ucd5c\ub300\uce58. \uc774 \uac12\uc5d0 \ub3c4\ub2ec\ud558\uba74(\uc790), \ud0c0\uc774\uba38\uc758 \uac12\uc740 \uc81c\ub85c\uc5d0 \ub3cc\uc544\uc628\ub2e4. \uc774\uac83\uc740 \ubd80\ud638 \uc5c6\uc74c\uc758 \uac12\uc774\ub2e4. jlong (\ubd80\ud638 \ucca80 \ubcf4\ub2e4 \uc791\uc740 \uac12)\ub85c\uc11c \ud14c\uc2a4\ud2b8 \ub610\ub294 \ucd9c\ub825\ud588\uc744 \uacbd\uc6b0, \ubd80\uc758 \uc218\uce58\ub85c\uc11c \ud45c\uc2dc\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiTimerInfo.may_skip_forward\">may_skip_forward<\/code><\/td>\n         <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>true \uc758 \uacbd\uc6b0, \ud0c0\uc774\uba38\ub294 \uc678\ubd80\uc5d0\uc11c \uc870\uc815\ub418\uc5b4 \uacb0\uacfc\uc801\uc73c\ub85c \uc804\uc5d0 \uc2a4\ud0b5 \ud55c\ub2e4. false \uc758 \uacbd\uc6b0, \ud0c0\uc774\uba38\uc758 \uac12\uc774 \uc2e4\uc81c\uc758 \uc2dc\uac04\ubcf4\ub2e4 \ube60\ub974\uac8c \uc99d\uac00\ud560 \uac83\uc740 \uc5c6\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiTimerInfo.may_skip_backward\">may_skip_backward<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>true \uc758 \uacbd\uc6b0, \ud0c0\uc774\uba38\ub294 \uc678\ubd80\uc5d0\uc11c \uc870\uc815\ub418\uc5b4 \uacb0\uacfc\uc801\uc73c\ub85c \ub4a4\uc5d0 \uc2a4\ud0b5 \ud55c\ub2e4. false \uc758 \uacbd\uc6b0, \ud0c0\uc774\uba38\uc758 \uac12\uc740 \uc77c\uc815\ud574 \uc99d\uac00\ud55c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiTimerInfo.kind\">kind<\/code><\/td>\n         <td><code><a href=\"#jvmtiTimerKind\">jvmtiTimerKind<\/a> <\/code><\/td>\n         <td>\ud0c0\uc774\uba38\uc758 \uc885\ub958. \uc0ac\uc6a9\uc790 \ud0c0\uc784\uacfc \uc2dc\uc2a4\ud15c \ud0c0\uc784\uc744 \uad6c\ubcc4\ud558\uc9c0 \uc54a\ub294 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub294,<a href=\"#JVMTI_TIMER_TOTAL_CPU\"><code>JVMTI_TIMER_TOTAL_CPU<\/code><\/a> \uac00 \ubc18\ud658\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiTimerInfo.reserved1\">reserved1<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"jvmtiTimerInfo.reserved2\">reserved2<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uc7a5\ub798\uc758 \uc0ac\uc6a9\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>\ud0c0\uc774\uba38\uc758 \uc885\ub958\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiTimerKind\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud0c0\uc774\uba38\uc758 \uc885\ub958 (<code>jvmtiTimerKind<\/code>)<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TIMER_USER_CPU\">JVMTI_TIMER_USER_CPU<\/code><\/td>\n            <td align=\"right\">30<\/td>\n           <td>thread\uac00 \uc0ac\uc6a9\uc790 \ubaa8\ub4dc\uc778 CPU \uc2dc\uac04.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TIMER_TOTAL_CPU\">JVMTI_TIMER_TOTAL_CPU<\/code><\/td>\n          <td align=\"right\">31<\/td>\n           <td>thread\uac00 \uc0ac\uc6a9\uc790 \ubaa8\ub4dc \ub610\ub294 \uc2dc\uc2a4\ud15c \ubaa8\ub4dc\uc778 CPU \uc2dc\uac04.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_TIMER_ELAPSED\">JVMTI_TIMER_ELAPSED<\/code><\/td>\n          <td align=\"right\">32<\/td>\n           <td>\uacbd\uacfc\uc2dc\uac04.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetCurrentThreadCpuTimerInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud604\uc7ac\uc758 thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetCurrentThreadCpuTimerInfo(jvmtiEnv* env,\n            jvmtiTimerInfo* info_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \ud0c0\uc774\uba38\uc758 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#jvmtiTimerInfo\"><code>jvmtiTimerInfo<\/code><\/a> \uad6c\uc870\uccb4\uc758 \ud544\ub4dc\uc5d0, \ud0c0\uc774\uba38\uc758 \uc0c1\uc138\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4. \uc774 \uc815\ubcf4\ub294, \ud50c\ub7ab\ud3fc\uacfc <a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \uc758 \uad6c\ud604\uc5d0 \uace0\uc720\ud574\uc11c, thread \ub9c8\ub2e4 \ubcc0\ud654\ud558\uac70\ub098 VM \uc758 \ud638\ucd9c\uc911\uc5d0 \ubcc0\ud654\ud560 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \uacfc <a href=\"#GetThreadCpuTime\"><code>GetThreadCpuTime<\/code><\/a> \uc758 \uad6c\ud604\uc774 \ub2e4\ub978 \uacbd\uc6b0,<code>GetCurrentThreadCpuTimerInfo<\/code> \uc640 <a href=\"#GetThreadCpuTimerInfo\"><code>GetThreadCpuTimerInfo<\/code><\/a> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \uac12\uc740 \ub2e4\ub978 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc0c1\uc138\ud55c \uac83\uc5d0 \ub300\ud558\uc5ec\ub294,<a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>134<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_current_thread_cpu_time\"><code>can_get_current_thread_cpu_time<\/code><\/a><\/td>\n          <td>\ud604\uc7ac\uc758 thread CPU \uc2dc\uac04\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetCurrentThreadCpuTimerInfo.info_ptr\">info_ptr<\/code><\/td>\n           <td><code><a href=\"#jvmtiTimerInfo\">jvmtiTimerInfo<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c,<a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \uc2dc\uac04\uc744 \uc124\uba85\ud558\ub294 \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiTimerInfo<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiTimerInfo<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_current_thread_cpu_time\"><code>can_get_current_thread_cpu_time<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentThreadCpuTimerInfo.info_ptr\"><code>info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetCurrentThreadCpuTime\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud604\uc7ac\uc758 thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetCurrentThreadCpuTime(jvmtiEnv* env,\n            jlong* nanos_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud604\uc7ac\uc758 thread\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 CPU \uc2dc\uac04\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetThreadCpuTime\"><code>GetThreadCpuTime<\/code><\/a> \ud568\uc218\ub294, \ud604\uc7ac\uc758 thread\ub97c \ud3ec\ud568\ud55c \ubaa8\ub4e0 thread\uc758 CPU \uc2dc\uac04\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. <code>GetCurrentThreadCpuTime<\/code> \uc740, \ud604\uc7ac\uc758 thread \ub610\ub294 \ud604\uc7ac\uc758 thread\ubcf4\ub2e4 \uc815\ubc00\ud55c \uc815\ubcf4\ub97c \uac00\uc9c0\ub294 thread \uc774\uc678\uc758 thread\uc758 CPU \uc2dc\uac04\uc744 \uc81c\uacf5\ud560 \uc218 \uc5c6\ub294 \ud50c\ub7ab\ud3fc\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4 (<a href=\"#GetCurrentThreadCpuTimerInfo\"><code>GetCurrentThreadCpuTimerInfo<\/code><\/a> \uc640 <a href=\"#GetThreadCpuTimerInfo\"><code>GetThreadCpuTimerInfo<\/code><\/a> \ub97c \ucc38\uc870). \ub9ce\uc740 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub294, \uc774 \ud638\ucd9c\uc740 \ub2e4\uc74c\uc758 \ucf54\ub4dc\uc640 \ub3d9\ub4f1\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\n  GetThreadCpuTime(env, NULL, nanos_ptr)\n<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n            <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>135<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_current_thread_cpu_time\"><code>can_get_current_thread_cpu_time<\/code><\/a><\/td>\n          <td>\ud604\uc7ac\uc758 thread CPU \uc2dc\uac04\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc774 \uad8c\ud55c\uc774 thread\uc758 \uac1c\uc2dc \ud6c4\uc5d0 \uc720\ud6a8\ud558\uac8c \ub418\uc5c8\uc744 \uacbd\uc6b0, \uad6c\ud604\uc740, \uad8c\ud55c\uc774 \uc720\ud6a8\ud558\uac8c \ub41c \uc2dc\uac04\uae4c\uc9c0\uc758 \uc784\uc758\uc758 \uc2dc\uac04\uc744, CPU \uc2dc\uac04\uc758 \uc218\uc9d1\uc744 \uac1c\uc2dc\ud558\ub294 \ud3ec\uc778\ud2b8\ub85c\uc11c \uc120\ud0dd\ud560 \uc218 \uc788\ub2e4.\n\n           <p>&nbsp;<\/p>\n         \uc774 \uad8c\ud55c\uc740,<a href=\"#jvmtiCapabilities.can_get_thread_cpu_time\"><code>can_get_thread_cpu_time<\/code><\/a> \ub97c \uc7a0\uc7ac\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ubaa8\ub4e0 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc7a0\uc7ac\uc801\uc73c\ub85c \uc0ac\uc6a9 \uac00\ub2a5.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetCurrentThreadCpuTime.nanos_ptr\">nanos_ptr<\/code><\/td>\n          <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc774 thread\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\ub294 CPU \uc2dc\uac04 (\ub098\ub178\ucd08\ub2e8\uc704)\uc744 \ud3ec\uc778\ud2b8 \ud558\ub294 \uc774\uac83\uc740 \ubd80\ud638 \uc5c6\uc74c\uc758 \uac12. jlong (\ubd80\ud638 \ucca80 \ubcf4\ub2e4 \uc791\uc740 \uac12)\ub85c\uc11c \ud14c\uc2a4\ud2b8 \ub610\ub294 \ucd9c\ub825\ud588\uc744 \uacbd\uc6b0, \ubd80\uc758 \uc218\uce58\ub85c\uc11c \ud45c\uc2dc\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_current_thread_cpu_time\"><code>can_get_current_thread_cpu_time<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetCurrentThreadCpuTime.nanos_ptr\"><code>nanos_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadCpuTimerInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetThreadCpuTimerInfo(jvmtiEnv* env,\n            jvmtiTimerInfo* info_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetThreadCpuTime\"><code>GetThreadCpuTime<\/code><\/a> \ud0c0\uc774\uba38\uc758 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#jvmtiTimerInfo\"><code>jvmtiTimerInfo<\/code><\/a> \uad6c\uc870\uccb4\uc758 \ud544\ub4dc\uc5d0, \ud0c0\uc774\uba38\uc758 \uc0c1\uc138\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4. \uc774 \uc815\ubcf4\ub294, \ud50c\ub7ab\ud3fc\uacfc <a href=\"#GetThreadCpuTime\"><code>GetThreadCpuTime<\/code><\/a> \uc758 \uad6c\ud604\uc5d0 \uace0\uc720\ud574\uc11c, thread \ub9c8\ub2e4 \ubcc0\ud654\ud558\uac70\ub098 VM \uc758 \ud638\ucd9c\uc911\uc5d0 \ubcc0\ud654\ud560 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \uacfc <a href=\"#GetThreadCpuTime\"><code>GetThreadCpuTime<\/code><\/a> \uc758 \uad6c\ud604\uc774 \ub2e4\ub978 \uacbd\uc6b0,<a href=\"#GetCurrentThreadCpuTimerInfo\"><code>GetCurrentThreadCpuTimerInfo<\/code><\/a> \uc640 <code>GetThreadCpuTimerInfo<\/code> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \uac12\uc740 \ub2e4\ub978 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc0c1\uc138\ud55c \uac83\uc5d0 \ub300\ud558\uc5ec\ub294,<a href=\"#GetCurrentThreadCpuTime\"><code>GetCurrentThreadCpuTime<\/code><\/a> \ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>136<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_thread_cpu_time\"><code>can_get_thread_cpu_time<\/code><\/a><\/td>\n          <td>thread CPU \uc2dc\uac04\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadCpuTimerInfo.info_ptr\">info_ptr<\/code><\/td>\n          <td><code><a href=\"#jvmtiTimerInfo\">jvmtiTimerInfo<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c,<a href=\"#GetThreadCpuTime\"><code>GetThreadCpuTime<\/code><\/a> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \uc2dc\uac04\uc744 \uc124\uba85\ud558\ub294 \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiTimerInfo<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiTimerInfo<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_thread_cpu_time\"><code>can_get_thread_cpu_time<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadCpuTimerInfo.info_ptr\"><code>info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetThreadCpuTime\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetThreadCpuTime(jvmtiEnv* env,\n            jthread thread,\n            jlong* nanos_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc9c0\uc815\uc758 thread\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 CPU \uc2dc\uac04\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetThreadCpuTimerInfo\"><code>GetThreadCpuTimerInfo<\/code><\/a> \uc5d0 \uc758\ud574, \uc774 \ud0c0\uc774\uba38\uc758 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>137<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_get_thread_cpu_time\"><code>can_get_thread_cpu_time<\/code><\/a><\/td>\n          <td>thread CPU \uc2dc\uac04\uc744 \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc774 \uad8c\ud55c\uc774 thread\uc758 \uac1c\uc2dc \ud6c4\uc5d0 \uc720\ud6a8\ud558\uac8c \ub418\uc5c8\uc744 \uacbd\uc6b0, \uad6c\ud604\uc740, \uad8c\ud55c\uc774 \uc720\ud6a8\ud558\uac8c \ub41c \uc2dc\uac04\uae4c\uc9c0\uc758 \uc784\uc758\uc758 \uc2dc\uac04\uc744, CPU \uc2dc\uac04\uc758 \uc218\uc9d1\uc744 \uac1c\uc2dc\ud558\ub294 \ud3ec\uc778\ud2b8\ub85c\uc11c \uc120\ud0dd\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadCpuTime.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc870\ud68c\ud558\ub294 thread. <code>thread<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \ud604\uc7ac\uc758 thread\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetThreadCpuTime.nanos_ptr\">nanos_ptr<\/code><\/td>\n         <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc9c0\uc815\ub41c thread\uc5d0 \uc758\ud574 \uc0ac\uc6a9\ub418\ub294 CPU \uc2dc\uac04 (\ub098\ub178\ucd08\ub2e8\uc704)\uc744 \ud3ec\uc778\ud2b8 \ud558\ub294 \uc774\uac83\uc740 \ubd80\ud638 \uc5c6\uc74c\uc758 \uac12. jlong (\ubd80\ud638 \ucca80 \ubcf4\ub2e4 \uc791\uc740 \uac12)\ub85c\uc11c \ud14c\uc2a4\ud2b8 \ub610\ub294 \ucd9c\ub825\ud588\uc744 \uacbd\uc6b0, \ubd80\uc758 \uc218\uce58\ub85c\uc11c \ud45c\uc2dc\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_MUST_POSSESS_CAPABILITY\"><code>JVMTI_ERROR_MUST_POSSESS_CAPABILITY<\/code><\/a><\/td>\n            <td>\ud658\uacbd\uc740 \uad8c\ud55c <a href=\"#jvmtiCapabilities.can_get_thread_cpu_time\"><code>can_get_thread_cpu_time<\/code><\/a> \ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. <a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_INVALID_THREAD\"><code>JVMTI_ERROR_INVALID_THREAD<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadCpuTime.thread\"><code>thread<\/code><\/a> \ub294 thread \uac1d\uccb4\ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_THREAD_NOT_ALIVE\"><code>JVMTI_ERROR_THREAD_NOT_ALIVE<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadCpuTime.thread\"><code>thread<\/code><\/a> \uac00 \ub77c\uc774\ube0c thread\ub294 \uc544\ub2c8\ub2e4 ( \uc544\uc9c1 \uae30\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\ub294\uc9c0, \ubc8c\uc368 \uc885\ub8cc\ud558\uace0 \uc788\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetThreadCpuTime.nanos_ptr\"><code>nanos_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetTimerInfo\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud0c0\uc774\uba38 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetTimerInfo(jvmtiEnv* env,\n            jvmtiTimerInfo* info_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetTime\"><code>GetTime<\/code><\/a> \ud0c0\uc774\uba38\uc758 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. <a href=\"#jvmtiTimerInfo\"><code>jvmtiTimerInfo<\/code><\/a> \uad6c\uc870\uccb4\uc758 \ud544\ub4dc\uc5d0, \ud0c0\uc774\uba38\uc758 \uc0c1\uc138\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4. \uc774 \uc815\ubcf4\ub294, VM \uc758 \ud638\ucd9c\uc911\uc73c\ub85c \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>138<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetTimerInfo.info_ptr\">info_ptr<\/code><\/td>\n           <td><code><a href=\"#jvmtiTimerInfo\">jvmtiTimerInfo<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c,<a href=\"#GetTime\"><code>GetTime<\/code><\/a> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \uc2dc\uac04\uc744 \uc124\uba85\ud558\ub294 \uc815\ubcf4\uac00 \ub4e4\uc5b4\uac00 \uc788\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiTimerInfo<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiTimerInfo<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetTimerInfo.info_ptr\"><code>info_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetTime\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2dc\uac04\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetTime(jvmtiEnv* env,\n            jlong* nanos_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uc2dc\uc2a4\ud15c \ud0c0\uc774\uba38-\uc758 \ud604\uc7ac\uc758 \uac12 (\ub098\ub178\ucd08\ub2e8\uc704)\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubc18\ud658\ub418\ub294 \uac12\uc740, \uace0\uc815\ub41c \uc784\uc758\uc758 \uc2dc\uac04\ubd80\ud130\uc758 \uacbd\uacfc\uc2dc\uac04 (\ub098\ub178\ucd08)\uc785\ub2c8\ub2e4. \uc7a5\ub798\uc801\uc73c\ub85c, \uac12\uc774 \ubd80\uc758 \uc218\uac00 \ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\uc5d0\uc11c\ub294, \ub098\ub178\ucd08\ub2e8\uc704\uc758 \uc815\ubc00\ub3c4\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4\ub9cc, \ubc18\ub4dc\uc2dc \ub098\ub178\ucd08\ub2e8\uc704\uc758 \uc815\ubc00\ub3c4\ub97c \uc5bb\uc744 \uc218 \uc788\ub2e4\uace0\ub294 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uac12\uc758 \ubcc0\uacbd \ube48\ub3c4\ub294 \ubcf4\uc99d\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetTimerInfo\"><code>GetTimerInfo<\/code><\/a> \uc5d0 \uc758\ud574, \uc774 \ud0c0\uc774\uba38\uc758 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>139<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetTime.nanos_ptr\">nanos_ptr<\/code><\/td>\n          <td><code><a href=\"#jlong\">jlong<\/a> *<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ub098\ub178\ucd08\ub2e8\uc704\ub85c \uc2dc\uac04\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774\uac83\uc740 \ubd80\ud638 \uc5c6\uc74c\uc758 \uac12. jlong (\ubd80\ud638 \ucca80 \ubcf4\ub2e4 \uc791\uc740 \uac12)\ub85c\uc11c \ud14c\uc2a4\ud2b8 \ub610\ub294 \ucd9c\ub825\ud588\uc744 \uacbd\uc6b0, \ubd80\uc758 \uc218\uce58\ub85c\uc11c \ud45c\uc2dc\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jlong<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jlong<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetTime.nanos_ptr\"><code>nanos_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetAvailableProcessors\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\uc138\uc11c\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetAvailableProcessors(jvmtiEnv* env,\n            jint* processor_count_ptr)<\/pre>\n<\/blockquote>\n\n<p>Java \uac00\uc0c1 \uba38\uc2e0\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud504\ub85c\uc138\uc11c\uc758 \uc218\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uac12\uc740, \uac00\uc0c1 \uba38\uc2e0\uc758 \ud638\ucd9c\uc911\uc73c\ub85c \ubcc0\uacbd\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\uc138\uc11c\uc758 \uc218\uc5d0 \uc601\ud5a5\uc744 \ubc1b\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc740, \uac00\ub054 \uc774 \ud504\ub85c\ud37c\ud2f0\uc744 \ud3f4\ub9c1 \ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>144<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetAvailableProcessors.processor_count_ptr\">processor_count_ptr<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uac00\uc0c1 \uba38\uc2e0\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ucd5c\ub300 \ud504\ub85c\uc138\uc11c\uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4 (\ubc18\ub4dc\uc2dc 1 \uc774\uc0c1).\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetAvailableProcessors.processor_count_ptr\"><code>processor_count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"classLoaderSearch\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9<\/h2>\n\n<p>\ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#AddToBootstrapClassLoaderSearch\">bootstrap \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/a><\/li>\n   <li><a href=\"#AddToSystemClassLoaderSearch\">\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74, \uc5d0\uc774\uc804\ud2b8\ub294, \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \ud074\ub798\uc2a4\ub97c \uac80\uc0c9\ud560 \ub54c\uc758 \uc7a5\uc18c\ub97c \ucd94\uac00\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740, \uc62c\ubc14\ub978 \ud074\ub798\uc2a4 \ub85c\ub354\ub85c Instrumentation\uc744 \uc778\uc2a4\ud1a8 \ud560 \ub54c\uc5d0 \ud3b8\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"AddToBootstrapClassLoaderSearch\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>bootstrap \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nAddToBootstrapClassLoaderSearch(jvmtiEnv* env,\n            const char* segment)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\uc5d0\uc11c\ub294, bootstrap \ud074\ub798\uc2a4 \ub85c\ub354\ub97c \uc0ac\uc6a9\ud574 Instrumentation\ud06c\ub77c\uc2a4\ub97c \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ConstantPool.doc.html#79383\">\u300cLoading Using the Bootstrap Class Loader\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694. <i><\/i>bootstrap \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \ud074\ub798\uc2a4\uc758 \uac80\uc0c9\uc5d0 \uc2e4\ud328\ud55c \ub4a4, \uc9c0\uc815\ub41c \ud50c\ub7ab\ud3fc \uc758\uc874\uc758 \uac80\uc0c9 \ud328\uc2a4<a href=\"#AddToBootstrapClassLoaderSearch.segment\"><code>\uc138\uadf8\uba3c\ud2b8(segment)<\/code><\/a> \ub97c \uac80\uc0c9\ud569\ub2c8\ub2e4. <a href=\"#AddToBootstrapClassLoaderSearch.segment\"><code>segment<\/code><\/a> \ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub294 \uc138\uadf8\uba3c\ud2b8(segment)\ub294, 1 \uac1c(\uc0b4) \ubfd0\uc785\ub2c8\ub2e4. \ubcf5\uc218\uc758 \uc138\uadf8\uba3c\ud2b8(segment)\ub97c \ucd94\uac00\ud558\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub97c \uc5ec\ub7ec \ucc28\ub840 \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc138\uadf8\uba3c\ud2b8(segment)\ub294, \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac04 \uc21c\uc11c\uc5d0 \uac80\uc0c9\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), bootstrap \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \ud074\ub798\uc2a4\uc758 \uac80\uc0c9\uc5d0 \uc2e4\ud328\ud588\uc744 \ub54c\uc5d0, \ucd94\uac00\ub85c \uac80\uc0c9\ud558\ub294 \uc784\uc758\uc758 \ud50c\ub7ab\ud3fc \uc758\uc874\uc758 \uac80\uc0c9 \ud328\uc2a4 \uc138\uadf8\uba3c\ud2b8(segment)\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc138\uadf8\uba3c\ud2b8(segment)\ub294 \uc77c\ubc18\uc801\uc73c\ub85c, \ub514\ub809\ud1a0\ub9ac\uc640 JAR \ud30c\uc77c\uc758 \uc5b4\ub290 \ucabd\uc778\uac00\uc5d0 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c <a href=\"#AddToBootstrapClassLoaderSearch.segment\"><code>segment<\/code><\/a> \ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uc784\uc758\uc758 \ud50c\ub7ab\ud3fc \uc758\uc874\uc758 <a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/guide\/jar\/jar.html\">JAR \ud30c\uc77c<\/a>\uc5d0\uc758 \ud328\uc2a4\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. bootstrap \ud074\ub798\uc2a4 \ub85c\ub354\uac00 Instrumentation \ubaa9\uc801\uc73c\ub85c \uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\ub098 \uc790\uc6d0 \uc774\uc678\uc758 \uac83\uc774 JAR \ud30c\uc77c\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\uac8c, \uc5d0\uc774\uc804\ud2b8\ub85c \ud655\uc778\ud558\ub3c4\ub85d \ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc5d0 \uc758\ud558\uba74,Java \uac00\uc0c1 \uba38\uc2e0\uc774 \uc774\uc804\uc5d0 \uc0c1\uc9d5\uc801 \ucc38\uc870\ub97c \ud574\uacb0\ud558\ub824\uace0 \ud574 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0, \uadf8 \ud6c4 \uc774 \uc0c1\uc9d5\uc801 \ucc38\uc870\ub97c \ud574\uacb0\ud558\ub824\uace0 \ud574\ub3c4 \ubc18\ub4dc\uc2dc \uc2e4\ud328\ud574, \ucd5c\ucd08\ub85c \ud574\uacb0\ud558\ub824\uace0 \ud55c \uacb0\uacfc\uc801\uc73c\ub85c throw \ub41c \uc5d0\ub7ec\uc640 \uac19\uc740 \uc5d0\ub7ec\uac00 \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c, Java \uac00\uc0c1 \uba38\uc2e0\uc774 \ucc38\uc870\ub97c \ud574\uacb0\ud560 \uc218 \uc5c6\uc5c8\ub358 \ud074\ub798\uc2a4\uc5d0 \ub300\uc751\ud558\ub294 \uc5d4\ud2b8\ub9ac\uac00 JAR \ud30c\uc77c\uc5d0 \ud3ec\ud568\ub418\ub294 \uacbd\uc6b0, \uadf8 \ucc38\uc870\ub97c \ud574\uacb0\ud558\ub824\uace0 \ud574\ub3c4 \ucd5c\ucd08\uc758 \uc5d0\ub7ec\uc640 \uac19\uc740 \uc5d0\ub7ec\ub85c \uc2e4\ud328\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>149<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"AddToBootstrapClassLoaderSearch.segment\">segment<\/code><\/td>\n          <td><code>const char*<\/code><\/td>\n         <td>\ud50c\ub7ab\ud3fc \uc758\uc874\uc758 \uac80\uc0c9 \ud328\uc2a4 \uc138\uadf8\uba3c\ud2b8(segment). <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#AddToBootstrapClassLoaderSearch.segment\"><code>segment<\/code><\/a> \uac00 \ubb34\ud6a8\uc778 \ud328\uc2a4. \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c\ub294, \uae30\uc874\uc758 JAR \ud30c\uc77c \uc774\uc678\ub294 \ubaa8\ub450 \ubb34\ud6a8\uc778 \ud328\uc2a4\uac00 \ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#AddToBootstrapClassLoaderSearch.segment\"><code>segment<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"AddToSystemClassLoaderSearch\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nAddToSystemClassLoaderSearch(jvmtiEnv* env,\n            const char* segment)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \ud568\uc218\uc5d0\uc11c\ub294, \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\ub97c \uc0ac\uc6a9\ud574 Instrumentation\ud06c\ub77c\uc2a4\ub97c \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc758<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/2nd-edition\/html\/ConstantPool.doc.html#79441\">\u300cLoading Using a User-defined Class Loader\u300d<\/a>\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694. <i><\/i>\ud074\ub798\uc2a4 \ub85c\ub354\uac00 \ud074\ub798\uc2a4\uc758 \uac80\uc0c9\uc5d0 \uc2e4\ud328\ud55c \ub4a4, \uc9c0\uc815\ub41c \ud50c\ub7ab\ud3fc \uc758\uc874\uc758 \uac80\uc0c9 \ud328\uc2a4<a href=\"#AddToSystemClassLoaderSearch.segment\"><code>\uc138\uadf8\uba3c\ud2b8(segment)<\/code><\/a> \ub97c \uac80\uc0c9\ud569\ub2c8\ub2e4. <a href=\"#AddToSystemClassLoaderSearch.segment\"><code>segment<\/code><\/a> \ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub294 \uc138\uadf8\uba3c\ud2b8(segment)\ub294, 1 \uac1c(\uc0b4) \ubfd0\uc785\ub2c8\ub2e4. \ubcf5\uc218\uc758 \uc138\uadf8\uba3c\ud2b8(segment)\ub97c \ucd94\uac00\ud558\ub294 \uacbd\uc6b0, \uc774 \ud568\uc218\ub97c \uc5ec\ub7ec \ucc28\ub840 \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc138\uadf8\uba3c\ud2b8(segment)\ub294, \uc774 \ud568\uc218\uac00 \ubd88\ub824 \uac04 \uc21c\uc11c\uc5d0 \uac80\uc0c9\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c \uc774 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \ud074\ub798\uc2a4\uc758 \uac80\uc0c9\uc5d0 \uc2e4\ud328\ud588\uc744 \ub54c\uc5d0, \ucd94\uac00\ub85c \uac80\uc0c9\ud558\ub294 \uc784\uc758\uc758 \ud50c\ub7ab\ud3fc \uc758\uc874\uc758 \uac80\uc0c9 \ud328\uc2a4 \uc138\uadf8\uba3c\ud2b8(segment)\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc138\uadf8\uba3c\ud2b8(segment)\ub294 \uc77c\ubc18\uc801\uc73c\ub85c, \ub514\ub809\ud1a0\ub9ac\uc640 JAR \ud30c\uc77c\uc758 \uc5b4\ub290 \ucabd\uc778\uac00\uc5d0 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c\ub294,<a href=\"#AddToSystemClassLoaderSearch.segment\"><code>segment<\/code><\/a> \ub294, \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \ud074\ub798\uc2a4\uc758 \uac80\uc0c9\uc5d0 \uc2e4\ud328\ud588\uc744 \ub54c\uc5d0, \ucd94\uac00\ub85c \uac80\uc0c9\ud558\ub294 \ud50c\ub7ab\ud3fc \uc758\uc874\uc758 <a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/guide\/jar\/jar.html\">JAR \ud30c\uc77c<\/a>\uc5d0\uc758 \ud328\uc2a4\uac00 \ub429\ub2c8\ub2e4. \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\uac00 Instrumentation \ubaa9\uc801\uc73c\ub85c \uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\ub098 \uc790\uc6d0 \uc774\uc678\uc758 \uac83\uc774 JAR \ud30c\uc77c\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\uac8c, \uc5d0\uc774\uc804\ud2b8\ub85c \ud655\uc778\ud558\ub3c4\ub85d \ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \uac80\uc0c9 \ub300\uc0c1 JAR \ud30c\uc77c\uc758 \ucd94\uac00\ub97c \uc9c0\uc6d0\ud558\ub294 \uac83\uc740,<code>java.lang.String<\/code> \ud615\uc758 \ub2e8\uc77c \ud30c\ub77c\ubbf8\ud130\ub97c \ucde8\ud558\ub294 <code>appendToClassPathForInstrumentation<\/code> \ub77c\ub294 \uc774\ub984\uc758 \uba54\uc18c\ub4dc\ub97c \uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \uad6c\ud604\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. \uc774 \uba54\uc18c\ub4dc\ub294,<code>public<\/code> \uc561\uc138\uc2a4\ub97c \uac16\ucd94\uc9c0 \uc54a\uc544\ub3c4 \uad1c\ucc2e\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc5d0 \uc758\ud558\uba74,Java \uac00\uc0c1 \uba38\uc2e0\uc774 \uc774\uc804\uc5d0 \uc0c1\uc9d5\uc801 \ucc38\uc870\ub97c \ud574\uacb0\ud558\ub824\uace0 \ud574 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0, \uadf8 \ud6c4 \uc774 \uc0c1\uc9d5\uc801 \ucc38\uc870\ub97c \ud574\uacb0\ud558\ub824\uace0 \ud574\ub3c4 \ubc18\ub4dc\uc2dc \uc2e4\ud328\ud574, \ucd5c\ucd08\ub85c \ud574\uacb0\ud558\ub824\uace0 \ud55c \uacb0\uacfc\uc801\uc73c\ub85c throw \ub41c \uc5d0\ub7ec\uc640 \uac19\uc740 \uc5d0\ub7ec\uac00 \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c, Java \uac00\uc0c1 \uba38\uc2e0\uc774 \ucc38\uc870\ub97c \ud574\uacb0\ud560 \uc218 \uc5c6\uc5c8\ub358 \ud074\ub798\uc2a4\uc5d0 \ub300\uc751\ud558\ub294 \uc5d4\ud2b8\ub9ac\uac00 JAR \ud30c\uc77c\uc5d0 \ud3ec\ud568\ub418\ub294 \uacbd\uc6b0, \uadf8 \ucc38\uc870\ub97c \ud574\uacb0\ud558\ub824\uace0 \ud574\ub3c4 \ucd5c\ucd08\uc758 \uc5d0\ub7ec\uc640 \uac19\uc740 \uc5d0\ub7ec\ub85c \uc2e4\ud328\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>151<\/td>\n          <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"AddToSystemClassLoaderSearch.segment\">segment<\/code><\/td>\n         <td><code>const char*<\/code><\/td>\n         <td>\ud50c\ub7ab\ud3fc \uc758\uc874\uc758 \uac80\uc0c9 \ud328\uc2a4 \uc138\uadf8\uba3c\ud2b8(segment). <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#AddToSystemClassLoaderSearch.segment\"><code>segment<\/code><\/a> \uac00 \ubb34\ud6a8\uc778 \ud328\uc2a4. \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c\ub294, \uae30\uc874\uc758 JAR \ud30c\uc77c \uc774\uc678\ub294 \ubaa8\ub450 \ubb34\ud6a8\uc778 \ud328\uc2a4\uac00 \ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED\"><code>JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED<\/code><\/a><\/td>\n          <td>\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354\uac00 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uc870\uc791.<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#AddToSystemClassLoaderSearch.segment\"><code>segment<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"props\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0<\/h2>\n\n<p>\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#GetSystemProperties\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#GetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#SetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \uc124\uc815<\/a><\/li>\n<\/ul>\n\n<p>\uc774\ub7ec\ud55c \ud568\uc218\ub294, \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc744 \ucde8\ub4dd \ubc0f \uc124\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetSystemProperties\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetSystemProperties(jvmtiEnv* env,\n            jint* count_ptr,\n            char*** property_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#GetSystemProperty\"><code>GetSystemProperty<\/code><\/a> \ub85c \uc0ac\uc6a9 \uac00\ub2a5\ud55c VM \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0 \ud0a4\uc758 \ub9ac\uc2a4\ud2b8\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uac00\uc0c1 \uba38\uc2e0\uc774 \ub2e4\uc74c\uc758 \ud504\ub85c\ud37c\ud2f0 \ud0a4\ub97c \uc81c\uacf5\ud558\ub3c4\ub85d(\ub4ef\uc774) \ud558\ub294 \uac83\uc744 \uac15\ud558\uac8c \ucd94\ucc9c\ud569\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n   <li><code>java.vm.vendor<\/code><\/li>\n  <li><code>java.vm.version<\/code><\/li>\n <li><code>java.vm.name<\/code><\/li>\n    <li><code>java.vm.info<\/code><\/li>\n    <li><code>java.library.path<\/code><\/li>\n   <li><code>java.class.path<\/code><\/li>\n<\/ul>\n\n<p>VM \uc5d0 \uc758\ud574 \uc815\uc758\ub418\uc5b4 \uc0ac\uc6a9\ub418\ub294 \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc5d0\uc758 \uc561\uc138\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \ucee4\uba58\ub4dc\ud589\uc73c\ub85c \uc124\uc815\ub41c \ud504\ub85c\ud37c\ud2f0\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uc774\uac83\uc5d0 \uc758\ud574, \uc774\ub7ec\ud55c \ud504\ub85c\ud37c\ud2f0\uc744, VM \uac00 \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc744 \uac1c\uc2dc\ud558\uae30 \uc804\uc5d0 \ucde8\ub4dd, \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740 \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 VM \ubdf0\uc774\ubbc0\ub85c, \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\ud37c\ud2f0\uc138\ud2b8\ub294, \uc77c\ubc18\uc801\uc73c\ub85c,<code>java.lang.System.getProperties<\/code> \ub0b4\uc758 \ud504\ub85c\ud37c\ud2f0 \uc138\ud2b8\uc640\ub294 \ub2e4\ub985\ub2c8\ub2e4. <code>java.lang.System.getProperties<\/code> \uc758 \uc561\uc138\uc2a4\uc5d0\ub294, JNI \uba54\uc18c\ub4dc \ud638\ucd9c\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud504\ub85c\ud37c\ud2f0\uc138\ud2b8\ub294, \uc2e4\ud589\uc911\uc5d0 \uc99d\uac00\ud558\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>130<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSystemProperties.count_ptr\">count_ptr<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ubc18\ud658\ub418\ub294 \ud504\ub85c\ud37c\ud2f0 \ud0a4\uc758 \uc218\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n         <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetSystemProperties.property_ptr\">property_ptr<\/code><\/td>\n            <td><code>char***<\/code><\/td>\n         <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud504\ub85c\ud37c\ud2f0 \ud0a4\uc758 \ubc30\uc5f4 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char**<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>char**<\/code> \ub294, \uc0ac\uc774\uc988 <code>*count_ptr<\/code> \uc758 \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. \uac01 \uc694\uc18c\ub294,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetSystemProperties.count_ptr\"><code>count_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetSystemProperties.property_ptr\"><code>property_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetSystemProperty\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetSystemProperty(jvmtiEnv* env,\n            const char* property,\n            char** value_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ud504\ub85c\ud37c\ud2f0 \ud0a4\uc5d0 \uc758\ud574 \uc9c0\uc815\ub41c VM \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud568\uc218 <a href=\"#GetSystemProperties\"><code>GetSystemProperties<\/code><\/a> \ub294, \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\ud37c\ud2f0 \ud0a4\uc138\ud2b8\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ucde8\ub4dd \uac00\ub2a5\ud55c \ud504\ub85c\ud37c\ud2f0\uc740, \uc2e4\ud589\uc911\uc5d0 \uc99d\uac00\ud558\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\uac83\uc740 \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 VM \ubdf0\uc774\ubbc0\ub85c, \ud504\ub85c\ud37c\ud2f0\uc758 \uac12\uc740,<code>java.lang.System.getProperty(String)<\/code> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \ud504\ub85c\ud37c\ud2f0\uc758 \uac12\uacfc\ub294 \ub2e4\ub985\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c\uc758 VM \ub294, \ud074\ub798\uc2a4\uc758 \ucd08\uae30\ud654\uc911\uc5d0, VM \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \uac12\uc744 <code>java.lang.System<\/code> \uc5d0 \ud3ec\ud568\ub418\uace0 \uc788\ub294 <code>Properties<\/code> \uc5d0 \uce74\ud53c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \ud6c4,<a href=\"#SetSystemProperty\"><code>SetSystemProperty<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 VM \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc744 \ubcc0\uacbd\ud558\uac70\ub098<code>java.lang.System.setProperty(String, String)<\/code> \ub97c \uc0ac\uc6a9\ud574 <code>java.lang.System<\/code> \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc744 \ubcc0\uacbd\ud558\uac70\ub098 \ud558\uba74(\uc790), \uac12\uc774 \ubcc0\uacbd\ub429\ub2c8\ub2e4. <code>java.lang.System.getProperty(String)<\/code> \uc758 \uc561\uc138\uc2a4\uc5d0\ub294, JNI \uba54\uc18c\ub4dc \ud638\ucd9c\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>131<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSystemProperty.property\">property<\/code><\/td>\n          <td><code>const char*<\/code><\/td>\n         <td>\ucde8\ub4dd\ub418\ub294 \ud504\ub85c\ud37c\ud2f0\uc758 \ud0a4. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n           <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetSystemProperty.value_ptr\">value_ptr<\/code><\/td>\n            <td><code>char**<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ud504\ub85c\ud37c\ud2f0\uc758 \uac12 (<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4)\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_AVAILABLE\"><code>JVMTI_ERROR_NOT_AVAILABLE<\/code><\/a><\/td>\n            <td>\uc774 \ud504\ub85c\ud37c\ud2f0\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4. <a href=\"#GetSystemProperties\"><code>GetSystemProperties<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574, \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\ud37c\ud2f0\uc744 \uac80\uc0c9\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetSystemProperty.property\"><code>property<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetSystemProperty.value_ptr\"><code>value__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetSystemProperty\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetSystemProperty(jvmtiEnv* env,\n            const char* property,\n            const char* value)<\/pre>\n<\/blockquote>\n\n<p>VM \uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud568\uc218 <a href=\"#GetSystemProperties\"><code>GetSystemProperties<\/code><\/a> \ub294, \ud504\ub85c\ud37c\ud2f0 \ud0a4\uc138\ud2b8\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uadf8 \uc911\uc758 \uba87\uac1c\uc778\uac00\ub294 \uc124\uc815 \uac00\ub2a5\ud569\ub2c8\ub2e4. <a href=\"#GetSystemProperty\"><code>GetSystemProperty<\/code><\/a> \ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>OnLoad \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ud638\ucd9c\ud560 \uc218 \uc5c6\ub2e4<\/td>\n          <td>\uc544\ub2c8\uc624<\/td>\n           <td>132<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetSystemProperty.property\">property<\/code><\/td>\n          <td><code>const char*<\/code><\/td>\n         <td>\ud504\ub85c\ud37c\ud2f0\uc758 \ud0a4. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetSystemProperty.value\">value<\/code><\/td>\n            <td><code>const char *<\/code><\/td>\n            <td>\uc124\uc815\ud558\ub294 \ud504\ub85c\ud37c\ud2f0\uce58. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294,<code>char<\/code> \uc758 \ubc30\uc5f4\uc744 \uac74\ub124\uc900\ub2e4. <code>value<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0\ub294 \uac12\uc774 \uc124\uc815\ub418\uc9c0 \uc54a\uc9c0\ub9cc, \ud504\ub85c\ud37c\ud2f0\uc774 \uae30\uc785\ud574 \uac00\ub2a5\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0\ub294 <a href=\"#JVMTI_ERROR_NOT_AVAILABLE\"><code>JVMTI_ERROR_NOT_AVAILABLE<\/code><\/a> \uac00 \ubc18\ud658\ub41c\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NOT_AVAILABLE\"><code>JVMTI_ERROR_NOT_AVAILABLE<\/code><\/a><\/td>\n            <td>\uc774 \ud504\ub85c\ud37c\ud2f0\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub294, \ub610\ub294 \uc774 \ud504\ub85c\ud37c\ud2f0\uc740 \uae30\uc785\ud574 \uac00\ub2a5\ud558\uc9c0 \uc54a\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#SetSystemProperty.property\"><code>property<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"general\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2 align=\"center\">\uc804\ubc18<\/h2>\n\n<p>\uc804\ubc18 \ud568\uc218:<\/p>\n\n<ul>\n  <li><a href=\"#GetPhase\">\ub2e8\uacc4\uc758 \ucde8\ub4dd<\/a><\/li>\n    <li><a href=\"#DisposeEnvironment\">\ud658\uacbd\uc758 \ud30c\uae30<\/a><\/li>\n  <li><a href=\"#SetEnvironmentLocalStorage\">\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/a><\/li>\n   <li><a href=\"#GetEnvironmentLocalStorage\">\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetVersionNumber\">\ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/a><\/li>\n   <li><a href=\"#GetErrorName\">\uc5d0\ub7ec\uba85\uc758 \ucde8\ub4dd<\/a><\/li>\n  <li><a href=\"#SetVerboseFlag\">\uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc124\uc815<\/a><\/li>\n   <li><a href=\"#GetJLocationFormat\">JLocation \ud615\uc2dd\uc758 \ucde8\ub4dd<\/a><\/li>\n<\/ul>\n\n<p>\uc804\ubc18\uc758 \ud615\ud0dc:<\/p>\n\n<ul>\n  <li><a href=\"#jvmtiPhase\"><code>jvmtiPhase<\/code><\/a> - \uc2e4\ud589\uc758 \ub2e8\uacc4<\/li>\n    <li><a href=\"#jvmtiVerboseFlag\"><code>jvmtiVerboseFlag<\/code><\/a> - \uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc5f4\uac70<\/li>\n <li><a href=\"#jvmtiJlocationFormat\"><code>jvmtiJlocationFormat<\/code><\/a> - JLocation \uc758 \ud615\uc2dd\uc758 \uc5f4\uac70<\/li>\n<\/ul>\n\n<p>\uc804\ubc18\uc758 \ud50c\ub798\uadf8 \ubc0f \uc815\uc218:<\/p>\n\n<ul>\n   <li><a href=\"#jvmtiVersionInterfaceTypes\">\ubc84\uc83c\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ud615\ud0dc<\/a><\/li>\n <li><a href=\"#jvmtiVersionMasks\">\ubc84\uc83c \ub9c8\uc2a4\ud06c<\/a><\/li>\n   <li><a href=\"#jvmtiVersionShifts\">\ubc84\uc83c \uc26c\ud504\ud2b8<\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<hr id=\"GetPhase\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ub2e8\uacc4\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef enum {\n    JVMTI_PHASE_ONLOAD = 1,\n    JVMTI_PHASE_PRIMORDIAL = 2,\n    JVMTI_PHASE_START = 6,\n    JVMTI_PHASE_LIVE = 4,\n    JVMTI_PHASE_DEAD = 8\n} jvmtiPhase;<\/pre>\n\n<pre>\njvmtiError\nGetPhase(jvmtiEnv* env,\n            jvmtiPhase* phase_ptr)<\/pre>\n<\/blockquote>\n\n<p>VM \uc2e4\ud589\uc758 \ud604\uc7ac\uc758 \ub2e8\uacc4\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \ub2e8\uacc4\ub294 \ub2e4\uc74c\uc758 \uc21c\uc11c\ub85c \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiPhase\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\uc2e4\ud589\uc758 \ub2e8\uacc4 (<code>jvmtiPhase<\/code>)<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PHASE_ONLOAD\">JVMTI_PHASE_ONLOAD<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td><code>OnLoad<\/code> \ub2e8\uacc4:<a href=\"#onload\"><code>Agent_OnLoad<\/code><\/a> \ud568\uc218\ub0b4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PHASE_PRIMORDIAL\">JVMTI_PHASE_PRIMORDIAL<\/code><\/td>\n            <td align=\"right\">2<\/td>\n            <td>\ucd08\uae30 \ub2e8\uacc4:<code>Agent_OnLoad<\/code> \uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uace0 \ub098\uc11c <code>VMStart<\/code> \uc774\ubca4\ud2b8\uac00 \uac1c\uc2dc\ub420 \ub54c\uae4c\uc9c0.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PHASE_START\">JVMTI_PHASE_START<\/code><\/td>\n          <td align=\"right\">6<\/td>\n            <td>\uac1c\uc2dc \ub2e8\uacc4:<a href=\"#VMStart\"><code>VMStart<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub418\uc5c8\uc744 \ub54c\uc640 <code>VMInit<\/code> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub420 \ub54c\uae4c\uc9c0.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PHASE_LIVE\">JVMTI_PHASE_LIVE<\/code><\/td>\n            <td align=\"right\">4<\/td>\n            <td>\ub77c\uc774\ube0c \ub2e8\uacc4:<a href=\"#VMInit\"><code>VMInit<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub418\uc5c8\uc744 \ub54c\uc640 <a href=\"#VMDeath\"><code>VMDeath<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9c8 \ub54c\uae4c\uc9c0.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_PHASE_DEAD\">JVMTI_PHASE_DEAD<\/code><\/td>\n            <td align=\"right\">8<\/td>\n            <td>\ub370\ub4dc \ub2e8\uacc4:<a href=\"#VMDeath\"><code>VMDeath<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \ub3cc\ub824\uc8fc\uc5b4\uc9c0\uace0 \ub098\uc11c, \ub610\ub294 \uae30\ub3d9\uc5d0 \uc2e4\ud328\ud558\uace0 \ub098\uc11c.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>\uae30\ub3d9\uc5d0 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0, VM \ub294 \uc911\uac04\uc758 \ub2e8\uacc4\ub97c \uc0dd\ub7b5 \ud574 \uc9c1\uc811 \ub370\ub4dc \ub2e8\uacc4\ub85c \ub098\uc544\uac11\ub2c8\ub2e4. \uc774 \uacbd\uc6b0,<code>VMInit<\/code> \uc774\ubca4\ud2b8\ub3c4 <code>VMDeath<\/code> \uc774\ubca4\ud2b8\ub3c4 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub300\ubd80\ubd84\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub294, \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \ub3d9\uc791\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc758 \ud568\uc218\ub294,<code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n<ul>\n  <li><a href=\"#CreateRawMonitor\"><b>CreateRawMonitor<\/b><\/a><\/li>\n    <li><a href=\"#DestroyRawMonitor\"><b>DestroyRawMonitor<\/b><\/a><\/li>\n  <li><a href=\"#SetEventCallbacks\"><b>SetEventCallbacks<\/b><\/a><\/li>\n  <li><a href=\"#SetEventNotificationMode\"><b>SetEventNotificationMode<\/b><\/a><\/li>\n    <li><a href=\"#GetExtensionFunctions\"><b>GetExtensionFunctions<\/b><\/a><\/li>\n  <li><a href=\"#GetExtensionEvents\"><b>GetExtensionEvents<\/b><\/a><\/li>\n    <li><a href=\"#SetExtensionEventCallback\"><b>SetExtensionEventCallback<\/b><\/a><\/li>\n  <li><a href=\"#GetPotentialCapabilities\"><b>GetPotentialCapabilities<\/b><\/a><\/li>\n    <li><a href=\"#AddCapabilities\"><b>AddCapabilities<\/b><\/a><\/li>\n  <li><a href=\"#RelinquishCapabilities\"><b>RelinquishCapabilities<\/b><\/a><\/li>\n    <li><a href=\"#AddToBootstrapClassLoaderSearch\"><b>AddToBootstrapClassLoaderSearch<\/b><\/a><\/li>\n  <li><a href=\"#AddToSystemClassLoaderSearch\"><b>AddToSystemClassLoaderSearch<\/b><\/a><\/li>\n    <li><a href=\"#GetSystemProperties\"><b>GetSystemProperties<\/b><\/a><\/li>\n  <li><a href=\"#GetSystemProperty\"><b>GetSystemProperty<\/b><\/a><\/li>\n<\/ul>\n\n<p>\ub2e4\uc74c\uc758 \ud568\uc218\ub294,<code>OnLoad<\/code> \ub2e8\uacc4\uc5d0\uc11c\ub9cc \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n<ul>\n    <li><a href=\"#SetSystemProperty\"><b>SetSystemProperty<\/b><\/a><\/li>\n<\/ul>\n\n<p>\ub2e4\uc74c\uc758 \ud568\uc218\ub294, \uac1c\uc2dc \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n<ul>\n    <li><a href=\"#GetCurrentThread\"><b>GetCurrentThread<\/b><\/a><\/li>\n    <li><a href=\"#SetThreadLocalStorage\"><b>SetThreadLocalStorage<\/b><\/a><\/li>\n  <li><a href=\"#GetThreadLocalStorage\"><b>GetThreadLocalStorage<\/b><\/a><\/li>\n  <li><a href=\"#GetTag\"><b>GetTag<\/b><\/a><\/li>\n    <li><a href=\"#SetTag\"><b>SetTag<\/b><\/a><\/li>\n    <li><a href=\"#GetClassSignature\"><b>GetClassSignature<\/b><\/a><\/li>\n  <li><a href=\"#GetClassStatus\"><b>GetClassStatus<\/b><\/a><\/li>\n    <li><a href=\"#GetSourceFileName\"><b>GetSourceFileName<\/b><\/a><\/li>\n  <li><a href=\"#GetClassModifiers\"><b>GetClassModifiers<\/b><\/a><\/li>\n  <li><a href=\"#GetClassMethods\"><b>GetClassMethods<\/b><\/a><\/li>\n  <li><a href=\"#GetClassFields\"><b>GetClassFields<\/b><\/a><\/li>\n    <li><a href=\"#GetImplementedInterfaces\"><b>GetImplementedInterfaces<\/b><\/a><\/li>\n    <li><a href=\"#GetClassVersionNumbers\"><b>GetClassVersionNumbers<\/b><\/a><\/li>\n    <li><a href=\"#GetConstantPool\"><b>GetConstantPool<\/b><\/a><\/li>\n  <li><a href=\"#IsInterface\"><b>IsInterface<\/b><\/a><\/li>\n  <li><a href=\"#IsArrayClass\"><b>IsArrayClass<\/b><\/a><\/li>\n    <li><a href=\"#IsModifiableClass\"><b>IsModifiableClass<\/b><\/a><\/li>\n  <li><a href=\"#GetClassLoader\"><b>GetClassLoader<\/b><\/a><\/li>\n    <li><a href=\"#GetSourceDebugExtension\"><b>GetSourceDebugExtension<\/b><\/a><\/li>\n  <li><a href=\"#GetObjectSize\"><b>GetObjectSize<\/b><\/a><\/li>\n  <li><a href=\"#GetObjectHashCode\"><b>GetObjectHashCode<\/b><\/a><\/li>\n  <li><a href=\"#GetFieldName\"><b>GetFieldName<\/b><\/a><\/li>\n    <li><a href=\"#GetFieldDeclaringClass\"><b>GetFieldDeclaringClass<\/b><\/a><\/li>\n    <li><a href=\"#GetFieldModifiers\"><b>GetFieldModifiers<\/b><\/a><\/li>\n  <li><a href=\"#IsFieldSynthetic\"><b>IsFieldSynthetic<\/b><\/a><\/li>\n    <li><a href=\"#GetMethodName\"><b>GetMethodName<\/b><\/a><\/li>\n  <li><a href=\"#GetMethodDeclaringClass\"><b>GetMethodDeclaringClass<\/b><\/a><\/li>\n  <li><a href=\"#GetMethodModifiers\"><b>GetMethodModifiers<\/b><\/a><\/li>\n    <li><a href=\"#GetMaxLocals\"><b>GetMaxLocals<\/b><\/a><\/li>\n    <li><a href=\"#GetArgumentsSize\"><b>GetArgumentsSize<\/b><\/a><\/li>\n    <li><a href=\"#GetLineNumberTable\"><b>GetLineNumberTable<\/b><\/a><\/li>\n    <li><a href=\"#GetMethodLocation\"><b>GetMethodLocation<\/b><\/a><\/li>\n  <li><a href=\"#GetBytecodes\"><b>GetBytecodes<\/b><\/a><\/li>\n    <li><a href=\"#IsMethodNative\"><b>IsMethodNative<\/b><\/a><\/li>\n    <li><a href=\"#IsMethodSynthetic\"><b>IsMethodSynthetic<\/b><\/a><\/li>\n  <li><a href=\"#IsMethodObsolete\"><b>IsMethodObsolete<\/b><\/a><\/li>\n    <li><a href=\"#SetJNIFunctionTable\"><b>SetJNIFunctionTable<\/b><\/a><\/li>\n  <li><a href=\"#GetJNIFunctionTable\"><b>GetJNIFunctionTable<\/b><\/a><\/li>\n  <li><a href=\"#GetCurrentThreadCpuTimerInfo\"><b>GetCurrentThreadCpuTimerInfo<\/b><\/a><\/li>\n    <li><a href=\"#GetCurrentThreadCpuTime\"><b>GetCurrentThreadCpuTime<\/b><\/a><\/li>\n<\/ul>\n\n<p>\ub2e4\uc74c\uc758 \ud568\uc218\ub294, \uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n<ul>\n  <li><a href=\"#Allocate\"><b>Allocate<\/b><\/a><\/li>\n    <li><a href=\"#Deallocate\"><b>Deallocate<\/b><\/a><\/li>\n    <li><a href=\"#SetNativeMethodPrefix\"><b>SetNativeMethodPrefix<\/b><\/a><\/li>\n  <li><a href=\"#SetNativeMethodPrefixes\"><b>SetNativeMethodPrefixes<\/b><\/a><\/li>\n  <li><a href=\"#RawMonitorEnter\"><b>RawMonitorEnter<\/b><\/a><\/li>\n  <li><a href=\"#RawMonitorExit\"><b>RawMonitorExit<\/b><\/a><\/li>\n    <li><a href=\"#RawMonitorWait\"><b>RawMonitorWait<\/b><\/a><\/li>\n    <li><a href=\"#RawMonitorNotify\"><b>RawMonitorNotify<\/b><\/a><\/li>\n    <li><a href=\"#RawMonitorNotifyAll\"><b>RawMonitorNotifyAll<\/b><\/a><\/li>\n  <li><a href=\"#GetCapabilities\"><b>GetCapabilities<\/b><\/a><\/li>\n  <li><a href=\"#GetTimerInfo\"><b>GetTimerInfo<\/b><\/a><\/li>\n    <li><a href=\"#GetTime\"><b>GetTime<\/b><\/a><\/li>\n  <li><a href=\"#GetAvailableProcessors\"><b>GetAvailableProcessors<\/b><\/a><\/li>\n    <li><a href=\"#GetPhase\"><b>GetPhase<\/b><\/a><\/li>\n    <li><a href=\"#DisposeEnvironment\"><b>DisposeEnvironment<\/b><\/a><\/li>\n    <li><a href=\"#SetEnvironmentLocalStorage\"><b>SetEnvironmentLocalStorage<\/b><\/a><\/li>\n    <li><a href=\"#GetEnvironmentLocalStorage\"><b>GetEnvironmentLocalStorage<\/b><\/a><\/li>\n    <li><a href=\"#GetVersionNumber\"><b>GetVersionNumber<\/b><\/a><\/li>\n    <li><a href=\"#GetErrorName\"><b>GetErrorName<\/b><\/a><\/li>\n    <li><a href=\"#SetVerboseFlag\"><b>SetVerboseFlag<\/b><\/a><\/li>\n    <li><a href=\"#GetJLocationFormat\"><b>GetJLocationFormat<\/b><\/a><\/li>\n<\/ul>\n\n<p>JNI \ud568\uc218 (\ud638\ucd9c API \ub97c \uc81c\uc678\ud55c\ub2e4)\ub294, \uac1c\uc2dc \ub2e8\uacc4 \ub610\ub294 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub300\ubd80\ubd84\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc774\ubca4\ud2b8\ub294, \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc758 \uc774\ubca4\ud2b8\ub294, \uadf8 \uc678\uc758 \ub2e8\uacc4\uc5d0\uc11c \ub2e4\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n<ul>\n  <li><a href=\"#ThreadStart\"><b>ThreadStart<\/b><\/a><\/li>\n  <li><a href=\"#ThreadEnd\"><b>ThreadEnd<\/b><\/a><\/li>\n  <li><a href=\"#ClassLoad\"><b>ClassLoad<\/b><\/a><\/li>\n  <li><a href=\"#ClassPrepare\"><b>ClassPrepare<\/b><\/a><\/li>\n    <li><a href=\"#VMStart\"><b>VMStart<\/b><\/a><\/li>\n<\/ul>\n\n<ul>\n   <li><a href=\"#NativeMethodBind\"><b>NativeMethodBind<\/b><\/a><\/li>\n    <li><a href=\"#ClassFileLoadHook\"><b>ClassFileLoadHook<\/b><\/a><\/li>\n  <li><a href=\"#DynamicCodeGenerated\"><b>DynamicCodeGenerated<\/b><\/a><\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>133<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetPhase.phase_ptr\">phase_ptr<\/code><\/td>\n         <td><code><a href=\"#jvmtiPhase\">jvmtiPhase<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, \ub2e8\uacc4\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiPhase<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiPhase<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetPhase.phase_ptr\"><code>phase__ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"DisposeEnvironment\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud658\uacbd\uc758 \ud30c\uae30<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nDisposeEnvironment(jvmtiEnv* env)<\/pre>\n<\/blockquote>\n\n<p>JNI <code>GetEnv<\/code> \ub85c \uc791\uc131\ub41c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc811\uc18d\uc744 \uc815\uc9c0\ud569\ub2c8\ub2e4 (<a href=\"#environments\">\u300cJVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\u300d<\/a>\uc744 \ucc38\uc870). \ud658\uacbd\uc774 \ubcf4\uad00 \uc720\uc9c0\ud558\uace0 \uc788\ub358 \ubaa8\ub4e0 \uc790\uc6d0\uc744 \ud30c\uae30\ud569\ub2c8\ub2e4. \uc774 \ud658\uacbd\uc5d0 \uc758\ud574 \uc911\ub2e8\ub41c thread\ub294, \uc774 \ud638\ucd9c\uc5d0 \uc758\ud574 \uc7ac\uac1c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740 \uc5d0\uc774\uc804\ud2b8\uac00 \uba85\uc2dc\uc801\uc73c\ub85c \uc2e4\uc2dc\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud658\uacbd\uc774 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \ud560\ub2f9\ud55c \uba54\ubaa8\ub9ac\ub294, \ud574\uc81c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740, \uc5d0\uc774\uc804\ud2b8\uac00 <a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \uba85\uc2dc\uc801\uc73c\ub85c \uc2e4\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud658\uacbd\uc5d0 \uc758\ud574 \uc791\uc131\ub41c raw \ubaa8\ub2c8\ud130\ub294 \ud30c\uae30\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740, \uc5d0\uc774\uc804\ud2b8\uac00 <a href=\"#DestroyRawMonitor\"><code>DestroyRawMonitor<\/code><\/a> \ub97c \ud638\ucd9c\ud558\ub294 \uac83\uc73c\ub85c \uba85\uc2dc\uc801\uc73c\ub85c \uc2e4\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud658\uacbd\uc5d0 \uc758\ud574 \uc791\uc131\ub41c raw \ubaa8\ub2c8\ud130\uc0c1\uc5d0\uc11c \ub300\uae30\ud558\uace0 \uc788\ub294 thread \uc0c1\ud0dc\ub294, \uc5b4\ub5a4 \uc601\ud5a5\ub3c4 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud658\uacbd\uc758<a href=\"#SetNativeMethodPrefix\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac<\/a>\ub294 \ubaa8\ub450 \uc124\uc815 \ud574\uc81c\ub429\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294, \ud30c\uae30\ub97c \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \uc811\ub450\uc0ac \ucca8\ubd80 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ubaa8\ub450 \uc0ad\uc81c\ud558\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud658\uacbd\uc5d0\uc11c \ubcf4\uad00 \uc720\uc9c0\ub418\uace0 \uc788\ub294<a href=\"#capability\">\uad8c\ud55c<\/a>\uc740 \ubaa8\ub450 \ubc29\ud3d0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud658\uacbd\uc5d0 \uc758\ud574 \uc720\ud6a8\ud654 \ub41c \uc774\ubca4\ud2b8\ub294, \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uac8c \ub429\ub2c8\ub2e4. \ub2e4\ub9cc, \ud604\uc7ac \uc2e4\ud589\uc911\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub294, \uacc4\uc18d \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc2e4\ud589\uc911\uc5d0 \ud658\uacbd\uc774 \ud30c\uae30\ub418\uc5b4 \ubb34\ud6a8\uac00 \ub420 \uac00\ub2a5\uc131\uc774 \uc788\ub294 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub97c \uc124\uacc4\ud558\ub824\uba74 , \ucda9\ubd84\ud788 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud658\uacbd\uc740, \uc774 \ud638\ucd9c\ub4a4\ub294 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ud638\ucd9c\uc740 \ud638\ucd9c\ud574 \uc6d0\ub798\ub300\ub85c \ub3cc\uc544\uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>127<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>\ub97c \ub3cc\ub824\uc900\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetEnvironmentLocalStorage\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nSetEnvironmentLocalStorage(jvmtiEnv* env,\n            const void* data)<\/pre>\n<\/blockquote>\n\n<p>VM \ub294, \uac1c\uac1c\uc758 \ud658\uacbd\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc5c8\ub358 \ud3ec\uc778\ud130\uce58\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4. \uc774 \ud3ec\uc778\ud130\uce58\ub97c \u300c\ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\u300d\uc774\ub77c\uace0 \ubd80\ub985\ub2c8\ub2e4. \uc774 \ud568\uc218\ub85c \uc124\uc815\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \uac12\uc740 <code>NULL<\/code> \uac00 \ub429\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294, \ud658\uacbd \uace0\uc720\uc758 \uc815\ubcf4\ub97c \ud3ec\ud568\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc744 \uc124\uc815\ud558\ub294 \uac83\uc73c\ub85c\uc368,<a href=\"#GetEnvironmentLocalStorage\"><code>GetEnvironmentLocalStorage<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc561\uc138\uc2a4 \ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uac12\uc744 \uc124\uc815\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ubd88\ub824 \uac11\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294, \uc5d0\uc774\uc804\ud2b8\uc5d0 \ub300\ud574\uc11c, \ud658\uacbd\ub9c8\ub2e4\uc758 \uc815\ubcf4\ub97c \uae30\ub85d\ud558\uae30 \uc704\ud574\uc11c \uc774\uc6a9\ud560 \uc218 \uc788\ub294, \ud3ec\uc778\ud130 \uc0ac\uc774\uc988\uc758 \ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>148<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetEnvironmentLocalStorage.data\">data<\/code><\/td>\n         <td><code>const void *<\/code><\/td>\n            <td>\ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc5d0 \uc785\ub825\ud558\ub294 \uac12.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\uac00 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>data<\/code> \uac00 <code>NULL<\/code> \uc758 \uacbd\uc6b0, \uac12\uc740 <code>NULL<\/code> \ub85c \uc124\uc815\ub41c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>\ub97c \ub3cc\ub824\uc900\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetEnvironmentLocalStorage\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetEnvironmentLocalStorage(jvmtiEnv* env,\n            void** data_ptr)<\/pre>\n<\/blockquote>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uac12\uc744 \ucde8\ub4dd\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ubd88\ub824 \uac11\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc774 \ud568\uc218\ub294,<a href=\"#Heap\">heap <\/a>\ubc18\ubcf5 \ud568\uc218\uc758 \ucf5c\ubc31\uc73c\ub85c\ubd80\ud130 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc774\ubca4\ud2b8,<a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc774\ubca4\ud2b8, \ubc0f <a href=\"#ObjectFree\"><code>ObjectFree<\/code><\/a> \uc774\ubca4\ud2b8\uc758 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c\ubd80\ud130\uc758 \ud638\ucd9c\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/td>\n            <td>147<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetEnvironmentLocalStorage.data_ptr\">data_ptr<\/code><\/td>\n         <td><code>void**<\/code><\/td>\n          <td>\ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uac12\uc744 \ub3cc\ub824\uc8fc\ub294 \ud3ec\uc778\ud130. \ud658\uacbd \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc774 <a href=\"#SetEnvironmentLocalStorage\"><code>SetEnvironmentLocalStorage<\/code><\/a> \ub85c \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \ubc18\ud658\ub418\ub294 \ud3ec\uc778\ud130\ub294 <code>NULL<\/code>.\n            <p>&nbsp;<\/p>\n         <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetEnvironmentLocalStorage.data_ptr\"><code>data_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetVersionNumber\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetVersionNumber(jvmtiEnv* env,\n            jint* version_ptr)<\/pre>\n<\/blockquote>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ubc84\uc83c\uc774 <code>version_ptr<\/code> \uc5d0 \uc758\ud574 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \ubc18\ud658\uac12\uc740 \ubc84\uc83c \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4. \ubc84\uc83c \uc2dd\ubcc4\uc790\uc5d0\ub294, \uc778\ud130\ud398\uc774\uc2a4\uc758 \ud615\ud0dc\uc640 \uba54\uc774\uc800 \ubc84\uc83c \ubc88\ud638, \ub9c8\uc774\ub108 \ubc84\uc83c \ubc88\ud638, \ub9c8\uc774\ud06c\ub85c \ubc84\uc83c \ubc88\ud638\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiVersionInterfaceTypes\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ubc84\uc83c\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ud615\ud0dc<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_INTERFACE_JNI\">JVMTI_VERSION_INTERFACE_JNI<\/code><\/td>\n          <td align=\"right\">0x00000000<\/td>\n           <td>JNI \uc758 <code>JVMTI_VERSION_MASK_INTERFACE_TYPE<\/code> \uc758 \uac12.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_INTERFACE_JVMTI\">JVMTI_VERSION_INTERFACE_JVMTI<\/code><\/td>\n          <td align=\"right\">0x30000000<\/td>\n           <td>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 <code>JVMTI_VERSION_MASK_INTERFACE_TYPE<\/code> \uc758 \uac12.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiVersionMasks\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ubc84\uc83c \ub9c8\uc2a4\ud06c<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_MASK_INTERFACE_TYPE\">JVMTI_VERSION_MASK_INTERFACE_TYPE<\/code><\/td>\n          <td align=\"right\">0x70000000<\/td>\n           <td>\ub9c8\uc2a4\ud06c\uc5d0 \uc758\ud574, \uc778\ud130\ud398\uc774\uc2a4\uc758 \ud615\ud0dc\ub97c \ucd94\ucd9c\ud55c\ub2e4. \uc774\uac83\uc740 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc774\ubbc0\ub85c,<code>JVMTI_VERSION_MASK_INTERFACE_TYPE<\/code> \ub85c \ub9c8\uc2a4\ud06c \ub41c, \uc774 \ud568\uc218\uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \ubc84\uc83c\uc758 \uac12\uc740, \ud56d\uc0c1 <code>JVMTI_VERSION_INTERFACE_JVMTI<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_MASK_MAJOR\">JVMTI_VERSION_MASK_MAJOR<\/code><\/td>\n            <td align=\"right\">0x0FFF0000<\/td>\n           <td>\ub9c8\uc2a4\ud06c\uc5d0 \uc758\ud574, \uba54\uc774\uc800 \ubc84\uc83c \ubc88\ud638\ub97c \ucd94\ucd9c\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_MASK_MINOR\">JVMTI_VERSION_MASK_MINOR<\/code><\/td>\n            <td align=\"right\">0x0000FF00<\/td>\n           <td>\ub9c8\uc2a4\ud06c\uc5d0 \uc758\ud574, \ub9c8\uc774\ub108 \ubc84\uc83c \ubc88\ud638\ub97c \ucd94\ucd9c\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_MASK_MICRO\">JVMTI_VERSION_MASK_MICRO<\/code><\/td>\n            <td align=\"right\">0x000000FF<\/td>\n           <td>\ub9c8\uc2a4\ud06c\uc5d0 \uc758\ud574, \ub9c8\uc774\ud06c\ub85c \ubc84\uc83c \ubc88\ud638\ub97c \ucd94\ucd9c\ud55c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiVersionShifts\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ubc84\uc83c \uc26c\ud504\ud2b8<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_SHIFT_MAJOR\">JVMTI_VERSION_SHIFT_MAJOR<\/code><\/td>\n          <td align=\"right\">16<\/td>\n           <td>\uc26c\ud504\ud2b8\uc5d0 \uc758\ud574, \uba54\uc774\uc800 \ubc84\uc83c \ubc88\ud638\ub97c \ucd94\ucd9c\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_SHIFT_MINOR\">JVMTI_VERSION_SHIFT_MINOR<\/code><\/td>\n          <td align=\"right\">8<\/td>\n            <td>\uc26c\ud504\ud2b8\uc5d0 \uc758\ud574, \ub9c8\uc774\ub108 \ubc84\uc83c \ubc88\ud638\ub97c \ucd94\ucd9c\ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERSION_SHIFT_MICRO\">JVMTI_VERSION_SHIFT_MICRO<\/code><\/td>\n          <td align=\"right\">0<\/td>\n            <td>\uc26c\ud504\ud2b8\uc5d0 \uc758\ud574, \ub9c8\uc774\ud06c\ub85c \ubc84\uc83c \ubc88\ud638\ub97c \ucd94\ucd9c\ud55c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>88<\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetVersionNumber.version_ptr\">version_ptr<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c, JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ubc84\uc83c\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n          <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jint<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jint<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetVersionNumber.version_ptr\"><code>version_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetErrorName\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc5d0\ub7ec\uba85\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\njvmtiError\nGetErrorName(jvmtiEnv* env,\n            jvmtiError error,\n            char** name_ptr)<\/pre>\n<\/blockquote>\n\n<p><a href=\"#ErrorSection\">\uc5d0\ub7ec \ucf54\ub4dc<\/a>\uc758 \uc0c1\uc9d5\uc801\uba85\uc744 \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc608\ub97c \ub4e4\uc5b4,<code>GetErrorName(env, JVMTI_ERROR_NONE, &amp;err_name)<\/code> \ub294,<code>err_name<\/code> \uc5d0 \uce90\ub9ad\ud130 \ub77c\uc778 <code>&quot;JVMTI_ERROR_NONE&quot;<\/code> \ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>128<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetErrorName.error\">error<\/code><\/td>\n         <td><code><a href=\"#jvmtiError\">jvmtiError<\/a> <\/code><\/td>\n         <td>\uc5d0\ub7ec \ucf54\ub4dc.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"GetErrorName.name_ptr\">name_ptr<\/code><\/td>\n           <td><code>char**<\/code><\/td>\n          <td>\ub3cc\uc544\uc654\uc744 \ub54c, \uc5d0\ub7ec\uba85\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774\ub984\uc740,<a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub418\uc9c0\ub9cc, ASCII \ubd80\ubd84\uc9d1\ud569\uc5d0 \uc81c\ud55c\ub41c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>char*<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. <code>char*<\/code> \ub294, \uc0c8\ub86d\uac8c \ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \ubc30\uc5f4\uc744 \ud3ec\uc778\ud2b8 \ud55c\ub2e4. \uc774 \ubc30\uc5f4\uc740,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#GetErrorName.error\"><code>error<\/code><\/a> \ub294 jvmtiError \ub294 \uc544\ub2c8\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetErrorName.name_ptr\"><code>name_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"SetVerboseFlag\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>\uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc124\uc815<\/h3>\n\n<blockquote>\n<pre>\ntypedef enum {\n    JVMTI_VERBOSE_OTHER = 0,\n    JVMTI_VERBOSE_GC = 1,\n    JVMTI_VERBOSE_CLASS = 2,\n    JVMTI_VERBOSE_JNI = 4\n} jvmtiVerboseFlag;<\/pre>\n\n<pre>\njvmtiError\nSetVerboseFlag(jvmtiEnv* env,\n            jvmtiVerboseFlag flag,\n            jboolean value)<\/pre>\n<\/blockquote>\n\n<blockquote><a name=\"jvmtiVerboseFlag\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc5f4\uac70 (<code>jvmtiVerboseFlag<\/code>)<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERBOSE_OTHER\">JVMTI_VERBOSE_OTHER<\/code><\/td>\n          <td align=\"right\">0<\/td>\n            <td>\uc7a5\ud669 \ucd9c\ub825 (\uc774\ud558\ub97c \uc81c\uc678\ud558\ub2e4).<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERBOSE_GC\">JVMTI_VERBOSE_GC<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td>\uc7a5\ud669 \uac00\ube44\uc9c0 \uceec\ub809\ud130 \ucd9c\ub825 (<code>-verbose:gc<\/code> \ub85c \uc9c0\uc815\ub41c \uac83\uacfc \uac19\uc774).<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERBOSE_CLASS\">JVMTI_VERBOSE_CLASS<\/code><\/td>\n          <td align=\"right\">2<\/td>\n            <td>\uc7a5\ud669 \ud074\ub798\uc2a4 \ub85c\ub4dc \ucd9c\ub825 (<code>-verbose:class<\/code> \ub85c \uc9c0\uc815\ub41c \uac83\uacfc \uac19\uc774).<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_VERBOSE_JNI\">JVMTI_VERBOSE_JNI<\/code><\/td>\n          <td align=\"right\">4<\/td>\n            <td>\uc7a5\ud669 JNI \ucd9c\ub825 (<code>-verbose:jni<\/code> \ub85c \uc9c0\uc815\ub41c \uac83\uacfc \uac19\uc774).<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>\uc7a5\ud669 \ucd9c\ub825\uc744 \uc81c\uc5b4\ud569\ub2c8\ub2e4. \uc774\uac83\uc740, \uc77c\ubc18\uc801\uc73c\ub85c <code>stderr<\/code> \uc5d0 \uc1a1\uc2e0\ub418\ub294 \ucd9c\ub825\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>150<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetVerboseFlag.flag\">flag<\/code><\/td>\n         <td><code><a href=\"#jvmtiVerboseFlag\">jvmtiVerboseFlag<\/a> <\/code><\/td>\n         <td>\uc5b4\ub290 \uc7a5\ud669 \ud50c\ub798\uadf8\ub97c \uc124\uc815\ud560\uae4c.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SetVerboseFlag.value\">value<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>\ud50c\ub798\uadf8\uc758 \uc0c8\ub85c\uc6b4 \uac12.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_ILLEGAL_ARGUMENT\"><code>JVMTI_ERROR_ILLEGAL_ARGUMENT<\/code><\/a><\/td>\n          <td><a href=\"#SetVerboseFlag.flag\"><code>flag<\/code><\/a> \ub294 jvmtiVerboseFlag \ub294 \uc544\ub2c8\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<hr id=\"GetJLocationFormat\" noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3>JLocation \ud615\uc2dd\uc758 \ucde8\ub4dd<\/h3>\n\n<blockquote>\n<pre>\ntypedef enum {\n    JVMTI_JLOCATION_JVMBCI = 1,\n    JVMTI_JLOCATION_MACHINEPC = 2,\n    JVMTI_JLOCATION_OTHER = 0\n} jvmtiJlocationFormat;<\/pre>\n\n<pre>\njvmtiError\nGetJLocationFormat(jvmtiEnv* env,\n            jvmtiJlocationFormat* format_ptr)<\/pre>\n<\/blockquote>\n\n<p>\uac00\uc0c1 \uba38\uc2e0\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc \uc778\ub371\uc2a4\ub97c \ucc38\uc870\ud558\ub294 \uc704\uce58 \uc815\ubcf4\ub85c\ubd80\ud130 \ucd5c\ub300\uc758 \uae30\ub2a5\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4\ub9cc,<code>jlocation<\/code> \uc758 \uc815\uc758\ub294, \uc774 \uc815\ubcf4\ub97c \uac00\uc9c0\uc9c0 \uc54a\ub294 VM \uad6c\ud604\uc744 \ud5c8\uac00\ud558\uae30 \uc704\ud574(\ub54c\ubb38\uc5d0), \uc758\ub3c4\uc801\uc73c\ub85c \uc81c\uc57d\uc744 \ubc1b\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \ud568\uc218\ub294, \uc774 VM \ub85c \uc0ac\uc6a9\ub418\ub294 <code>jlocation<\/code> \uc758 \ud45c\ud604\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \ubc18\ud658\ub418\ub294 \ud615\uc2dd\uc774 <a href=\"#JVMTI_JLOCATION_JVMBCI\"><code>JVMTI_JLOCATION_JVMBCI<\/code><\/a> \uc758 \uacbd\uc6b0,<code>jlocation<\/code> \ub97c,<a href=\"#GetBytecodes\"><code>GetBytecodes<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub418\ub294 \ubc30\uc5f4\uc758 \uc778\ub371\uc2a4\ub85c\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiJlocationFormat\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">JLocation \uc758 \ud615\uc2dd\uc758 \uc5f4\uac70 (<code>jvmtiJlocationFormat<\/code>)<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JLOCATION_JVMBCI\">JVMTI_JLOCATION_JVMBCI<\/code><\/td>\n            <td align=\"right\">1<\/td>\n            <td><code>jlocation<\/code> \uc758 \uac12\uc740, \uac00\uc0c1 \uba38\uc2e0\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc \uc778\ub371\uc2a4\ub97c \ub098\ud0c0\ub0b8\ub2e4. \uc989, \uba54\uc18c\ub4dc\uc758 \uac00\uc0c1 \uba38\uc2e0 \ucf54\ub4dc\uc758 \uc624\ud504\uc14b(offset).<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JLOCATION_MACHINEPC\">JVMTI_JLOCATION_MACHINEPC<\/code><\/td>\n          <td align=\"right\">2<\/td>\n            <td><code>jlocation<\/code> \uc758 \uac12\uc740, \ub124\uc774\ud2f0\ube0c \uba38\uc2e0\uc758 \ud504\ub85c\uadf8\ub7a8 \uce74\uc6b4\ud130\uce58\ub97c \ub098\ud0c0\ub0b8\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_JLOCATION_OTHER\">JVMTI_JLOCATION_OTHER<\/code><\/td>\n          <td align=\"right\">0<\/td>\n            <td><code>jlocation<\/code> \uc758 \uac12\uc740, \uadf8 \uc678\uc758 \ud45c\ud604\uc744 \uac00\uc9c4\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#heapCallbacks\">\ucf5c\ubc31 \uc548\uc804<\/a><\/td>\n         <td><a href=\"#FunctionTable\">\uc704\uce58<\/a><\/td>\n          <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uc5b4\ub290 \ub2e8\uacc4\uc5d0\uc11c\ub3c4 \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4<\/td>\n           <td>\uc544\ub2c8\uc624<\/td>\n           <td>129<\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"GetJLocationFormat.format_ptr\">format_ptr<\/code><\/td>\n         <td><code><a href=\"#jvmtiJlocationFormat\">jvmtiJlocationFormat<\/a> *<\/code><\/td>\n            <td>\ub3cc\uc544\uc654\uc744 \ub54c,<code>jlocation<\/code> \uce58\uc758 \ud615\uc2dd \uc2dd\ubcc4\uc790\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.\n            <p>&nbsp;<\/p>\n         \uc5d0\uc774\uc804\ud2b8\ub294 <code>jvmtiJlocationFormat<\/code> \uc5d0 \ud3ec\uc778\ud130\ub97c \uac74\ub124\uc900\ub2e4. \ub3cc\uc544\uc654\uc744 \ub54c,<code>jvmtiJlocationFormat<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5d0\ub7ec<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\">\uc774 \ud568\uc218\ub294,<a href=\"#universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/a>, \ub610\ub294 \ub2e4\uc74c\uc758 \uc5d0\ub7ec\uc758 \uc5b4\ub290\ucabd\uc774\ub4e0\uc744 \ub3cc\ub824\uc900\ub2e4<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc5d0\ub7ec<\/td>\n         <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#JVMTI_ERROR_NULL_POINTER\"><code>JVMTI_ERROR_NULL_POINTER<\/code><\/a><\/td>\n          <td><a href=\"#GetJLocationFormat.format_ptr\"><code>format_ptr<\/code><\/a> \uac00 <code>NULL<\/code>.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ErrorSection\">&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc5d0\ub7ec<\/h2>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub294 \ubaa8\ub450,<b><code>jvmtiError<\/code><\/b> \uc5d0\ub7ec \ucf54\ub4dc\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294, \uc720\ud6a8\ud55c \ud30c\ub77c\ubbf8\ud130\ub97c \uac00\uc9c0\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c, \uc801\uc808\ud55c \ubb38\ub9e5 (\uc608\ub97c \ub4e4\uc5b4, \ud638\ucd9c\uce21 thread\uac00 \uc811\uc18d\ub418\uace0 \uc788\uc5b4, \ub2e8\uacc4\uac00 \uc801\uc808)\uc73c\ub85c \ud638\ucd9c\ud569\ub2c8\ub2e4. \uad6c\ud604\uc5d0 \uc758\ud574, \uc77c\ubd80\uc758 \uc5d0\ub7ec \uc870\uac74\uc758 \uac80\ucd9c\uc774 \uace4\ub780\ud558\uac70\ub098 \ube44\ud6a8\uc728\uc801\uc774\uac70\ub098 \ubd88\uac00\ub2a5\ud574 \uc788\uae30\ub3c4 \ud569\ub2c8\ub2e4. \uad6c\ud604\uc740,<a href=\"#reqerrors\">\u300c\ud568\uc218 \uace0\uc720\uc758 \ud544\uc218 \uc5d0\ub7ec\u300d<\/a>\uc5d0 \uc77c\ub78c \ub418\uace0 \uc788\ub294 \uc5d0\ub7ec\ub97c \uac80\ucd9c\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc678\uc758 \uc5d0\ub7ec\ub294, \uc5d0\ub7ec \uc870\uac74\uc5d0 \ub300\ud55c \ucd94\ucc9c \ub418\uace0 \uc788\ub294 \uc751\ub2f5\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<h3 id=\"universal-error\">\ubc94\uc6a9 \uc5d0\ub7ec<\/h3>\n\n<p>\ub2e4\uc74c\uc758 \uc5d0\ub7ec\ub294, \uc5b4\ub290 \ud568\uc218\ub85c\ubd80\ud130\ub3c4 \ub3cc\ub824\uc8fc\uc5b4\uc9c8 \uac00\ub2a5\uc131\uc774 \uc788\ub294 \uc5d0\ub7ec\uc785\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<dl>\n   <dt><code id=\"JVMTI_ERROR_NONE\">JVMTI_ERROR_NONE (0)<\/code><\/dt>\n    <dd>\uc5d0\ub7ec\ub294 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc558\ub2e4. \ud568\uc218\uc758 \uc2e4\ud589\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc885\ub8cc\ud588\uc744 \ub54c\uc5d0 \ubc18\ud658\ub418\ub294 \uc5d0\ub7ec \ucf54\ub4dc.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NULL_POINTER\">JVMTI_ERROR_NULL_POINTER (100)<\/code><\/dt>\n  <dd>\ud3ec\uc778\ud130\uac00 <code>NULL<\/code>.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_OUT_OF_MEMORY\">JVMTI_ERROR_OUT_OF_MEMORY (110)<\/code><\/dt>\n    <dd>\ud568\uc218\ub85c \uba54\ubaa8\ub9ac\uc758 \ud560\ub2f9\uc774 \uc2dc\ud589\ub418\uc5c8\uc9c0\ub9cc, \ub354 \uc774\uc0c1 \ud560\ub2f9\ud560 \uc218 \uc788\ub294 \uba54\ubaa8\ub9ac\uac00 \uc5c6\uc5c8\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_ACCESS_DENIED\">JVMTI_ERROR_ACCESS_DENIED (111)<\/code><\/dt>\n    <dd>\uc774 \uac00\uc0c1 \uba38\uc2e0\uc5d0\uc11c\ub294 \ud544\uc694\ud55c \uae30\ub2a5\uc774 \uc720\ud6a8\ud558\uac8c \ub418\uc9c0 \uc54a\uc558\ub2e4.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNATTACHED_THREAD\">JVMTI_ERROR_UNATTACHED_THREAD (115)<\/code><\/dt>\n    <dd>\uc774 \ud568\uc218\uc758 \ud638\ucd9c\uc5d0 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 thread\uac00, \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uc811\uc18d\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4. \ud638\ucd9c\uc740, \uc811\uc18d\ub41c thread\ub85c\ubd80\ud130 \uc2e4\uc2dc\ud560 \ud544\uc694\uac00 \uc788\ub2e4. JNI \ud638\ucd9c API \uc758 <code>AttachCurrentThread<\/code> \ub97c \ucc38\uc870.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_ENVIRONMENT\">JVMTI_ERROR_INVALID_ENVIRONMENT (116)<\/code><\/dt>\n    <dd>\uc9c0\uc815\ub41c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\uc740 \uc774\uc81c \uc811\uc18d\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740, \ub610\ub294 \ud658\uacbd\uc740 \uc544\ub2c8\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_WRONG_PHASE\">JVMTI_ERROR_WRONG_PHASE (112)<\/code><\/dt>\n    <dd>\ud604\uc7ac\uc758<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0\uc11c\ub294, \ud544\uc694\ud55c \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4. \uac00\uc0c1 \uba38\uc2e0\uc774 \uc2e4\ud589\uc744 \uc644\ub8cc\ud558\uace0 \uc788\ub294 \uacbd\uc6b0, \ud56d\uc0c1 \ubc18\ud658\ub41c\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INTERNAL\">JVMTI_ERROR_INTERNAL (113)<\/code><\/dt>\n  <dd>\uc608\uae30\uce58 \uc54a\uc740 \ub0b4\ubd80 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\ub2e4.\n <p>&nbsp;<\/p>\n <\/dd>\n<\/dl>\n\n<p>&nbsp;<\/p>\n\n<h3 id=\"reqerrors\">\ud568\uc218 \uace0\uc720\uc758 \ud544\uc218 \uc5d0\ub7ec<\/h3>\n\n<p>\uc77c\ubd80\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub294, \ub2e4\uc74c\uc758 \uc5d0\ub7ec\ub97c \ub3cc\ub824\uc90d\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc5d0\ub7ec\ub294, \uc870\uac74\uc774 \ucc44\uc6cc\uc84c\uc744 \ub54c, \uad6c\ud604\uc5d0 \uc758\ud574 \ub3cc\ub824\uc8fc\uc5b4\uc9c8 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<dl>\n  <dt><code id=\"JVMTI_ERROR_INVALID_PRIORITY\">JVMTI_ERROR_INVALID_PRIORITY (12)<\/code><\/dt>\n   <dd>\ubb34\ud6a8\uc778 \uc6b0\uc120 \uc21c\uc704.\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_THREAD_NOT_SUSPENDED\">JVMTI_ERROR_THREAD_NOT_SUSPENDED (13)<\/code><\/dt>\n   <dd>thread\ub294 \uc911\ub2e8\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_THREAD_SUSPENDED\">JVMTI_ERROR_THREAD_SUSPENDED (14)<\/code><\/dt>\n   <dd>thread\ub294 \ubc8c\uc368 \uc911\ub2e8\ub418\uace0 \uc788\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_THREAD_NOT_ALIVE\">JVMTI_ERROR_THREAD_NOT_ALIVE (15)<\/code><\/dt>\n   <dd>\uc774 \uc870\uc791\uc744 \uc2e4\uc2dc\ud558\ub824\uba74 , thread\uac00 \ud65c\ub3d9\uc911 (\uac1c\uc2dc\ub418\uc5b4 \uc544\uc9c1 \uc885\ub8cc\ud558\uace0 \uc788\uc9c0 \uc54a\ub2e4)\uc774 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_CLASS_NOT_PREPARED\">JVMTI_ERROR_CLASS_NOT_PREPARED (22)<\/code><\/dt>\n   <dd>\ud074\ub798\uc2a4\uac00 \ub85c\ub4dc \ub418\uace0 \uc788\uc9c0\ub9cc, \uc544\uc9c1 \uc900\ube44\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NO_MORE_FRAMES\">JVMTI_ERROR_NO_MORE_FRAMES (31)<\/code><\/dt>\n   <dd>\uc9c0\uc815\ub41c \uae4a\uc774\uc5d0, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ub610\ub294 JNI \uc2a4\ud0dd \ud504\ub808\uc784\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_OPAQUE_FRAME\">JVMTI_ERROR_OPAQUE_FRAME (32)<\/code><\/dt>\n   <dd>\ud504\ub808\uc784\uc758 \uc815\ubcf4\ub97c \uc785\uc218\ud560 \uc218 \uc5c6\ub2e4 (\ub124\uc774\ud2f0\ube0c \ud504\ub808\uc784\uc758 \uacbd\uc6b0 \ub4f1).\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_DUPLICATE\">JVMTI_ERROR_DUPLICATE (40)<\/code><\/dt>\n <dd>\ubc8c\uc368 \uc124\uc815\ub41c \ud56d\ubaa9.\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NOT_FOUND\">JVMTI_ERROR_NOT_FOUND (41)<\/code><\/dt>\n <dd>\ubaa9\uc801\uc758 \uc694\uc18c (\ud544\ub4dc\ub098 breakpoint\ub4f1)\uac00 \ubc1c\uacac\ub418\uc9c0 \uc54a\ub294\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NOT_MONITOR_OWNER\">JVMTI_ERROR_NOT_MONITOR_OWNER (51)<\/code><\/dt>\n <dd>\uc774 thread\ub294 raw \ubaa8\ub2c8\ud130\ub97c \uc18c\uc720\ud558\uace0 \uc788\uc9c0 \uc54a\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INTERRUPT\">JVMTI_ERROR_INTERRUPT (52)<\/code><\/dt>\n <dd>\ud638\ucd9c\uc758 \uc644\ub8cc\uc804\uc5d0 \ub07c\uc5b4\ub4e4\uc5b4\uc84c\ub2e4.\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNMODIFIABLE_CLASS\">JVMTI_ERROR_UNMODIFIABLE_CLASS (79)<\/code><\/dt>\n   <dd>\ud074\ub798\uc2a4\ub294 \ubcc0\uacbd\ud560 \uc218 \uc5c6\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NOT_AVAILABLE\">JVMTI_ERROR_NOT_AVAILABLE (98)<\/code><\/dt>\n <dd>\uc774 \uae30\ub2a5\uc740 \uc774 \uac00\uc0c1 \uba38\uc2e0\uc5d0\uc11c\ub294 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_ABSENT_INFORMATION\">JVMTI_ERROR_ABSENT_INFORMATION (101)<\/code><\/dt>\n  <dd>\uc694\uad6c\ub41c \uc815\ubcf4\ub97c \uc785\uc218\ud560 \uc218 \uc5c6\ub2e4.\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_EVENT_TYPE\">JVMTI_ERROR_INVALID_EVENT_TYPE (102)<\/code><\/dt>\n  <dd>\uc9c0\uc815\ub41c \uc774\ubca4\ud2b8\ud615\uc758 ID \uac00 \uc778\uc2dd\ub418\uc9c0 \uc54a\ub294\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NATIVE_METHOD\">JVMTI_ERROR_NATIVE_METHOD (104)<\/code><\/dt>\n    <dd>\uc694\uad6c\ub41c \uc815\ubcf4\uac00 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED\">JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED (106)<\/code><\/dt>\n  <dd>\ud074\ub798\uc2a4 \ub85c\ub354\uac00 \uc774 \uc870\uc791\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n<\/dl>\n\n<p>&nbsp;<\/p>\n\n<h3 id=\"function-specific-errors\">\ud568\uc218 \uace0\uc720\uc758 \uc5d0\uc774\uc804\ud2b8 \uc5d0\ub7ec<\/h3>\n\n<p>\ub2e4\uc74c\uc758 \uc5d0\ub7ec\ub294, \uc77c\ubd80\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub85c\ubd80\ud130 \ub3cc\ub824\uc8fc\uc5b4\uc9c8 \uac00\ub2a5\uc131\uc774 \uc788\ub294 \uc5d0\ub7ec\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc5d0\ub7ec\ub294, \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574 \ubb34\ud6a8\uc778 \ud30c\ub77c\ubbf8\ud130\uac00 \uac74\ub124\ubc1b\uc558\uc744 \uacbd\uc6b0\ub098, \ubb34\ud6a8\uc778 \ubb38\ub9e5\uc73c\ub85c \uc0ac\uc6a9\ub418\uc5c8\uc744 \uacbd\uc6b0\uc5d0 \ub3cc\ub824\uc8fc\uc5b4\uc9d1\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc5d0\ub7ec\ub294, \uad6c\ud604\uc5c6\uc774 \uac80\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<dl>\n   <dt><code id=\"JVMTI_ERROR_INVALID_THREAD\">JVMTI_ERROR_INVALID_THREAD (10)<\/code><\/dt>\n   <dd>\uac74\ub124\ubc1b\uc740 thread\ub294 \uc720\ud6a8\ud55c thread\ub294 \uc544\ub2c8\ub2e4.\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_FIELDID\">JVMTI_ERROR_INVALID_FIELDID (25)<\/code><\/dt>\n <dd>\ubb34\ud6a8\uc778 \ud544\ub4dc.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_METHODID\">JVMTI_ERROR_INVALID_METHODID (23)<\/code><\/dt>\n   <dd>\ubb34\ud6a8\uc778 \uba54\uc18c\ub4dc.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_LOCATION\">JVMTI_ERROR_INVALID_LOCATION (24)<\/code><\/dt>\n   <dd>\ubb34\ud6a8\uc778 \uc704\uce58.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_OBJECT\">JVMTI_ERROR_INVALID_OBJECT (20)<\/code><\/dt>\n   <dd>\ubb34\ud6a8\uc778 \uac1d\uccb4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_CLASS\">JVMTI_ERROR_INVALID_CLASS (21)<\/code><\/dt>\n <dd>\ubb34\ud6a8\uc778 \ud074\ub798\uc2a4.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_TYPE_MISMATCH\">JVMTI_ERROR_TYPE_MISMATCH (34)<\/code><\/dt>\n <dd>\uc0ac\uc6a9\ud55c \ud568\uc218\uc640 \ubcc0\uc218\uc758 \ud615\ud0dc\uac00 \ub9de\uc9c0 \uc54a\ub294\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_SLOT\">JVMTI_ERROR_INVALID_SLOT (35)<\/code><\/dt>\n   <dd>\ubb34\ud6a8\uc778 \uc2ac\ub86f.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_MUST_POSSESS_CAPABILITY\">JVMTI_ERROR_MUST_POSSESS_CAPABILITY (99)<\/code><\/dt>\n <dd>\uc774 \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \uad8c\ud55c\uc774 false.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_THREAD_GROUP\">JVMTI_ERROR_INVALID_THREAD_GROUP (11)<\/code><\/dt>\n   <dd>thread \uadf8\ub8f9\uc774 \ubb34\ud6a8.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_MONITOR\">JVMTI_ERROR_INVALID_MONITOR (50)<\/code><\/dt>\n <dd>\ubb34\ud6a8\uc778 raw \ubaa8\ub2c8\ud130.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_ILLEGAL_ARGUMENT\">JVMTI_ERROR_ILLEGAL_ARGUMENT (103)<\/code><\/dt>\n  <dd>\ubd80\uc815\ud55c \uc778\uc218.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_TYPESTATE\">JVMTI_ERROR_INVALID_TYPESTATE (65)<\/code><\/dt>\n <dd>thread \uc0c1\ud0dc\uac00 \ubcc0\uacbd\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0, \ubd80\uc815\ud569\uc774 \uc0dd\uae30\uace0 \uc788\ub2e4.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_VERSION\">JVMTI_ERROR_UNSUPPORTED_VERSION (68)<\/code><\/dt>\n <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ubc84\uc83c\uc774 \uc774 VM \ub85c \uc9c0\uc6d0\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_INVALID_CLASS_FORMAT\">JVMTI_ERROR_INVALID_CLASS_FORMAT (60)<\/code><\/dt>\n   <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \ud615\uc2dd\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\ub2e4 (VM <code>ClassFormatError<\/code> \ub97c \ub3cc\ub824\uc900\ub2e4).\n <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION\">JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION (61)<\/code><\/dt>\n <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\uc758 \uc815\uc758\uac00 \uc21c\ud658 \uc815\uc758\uac00 \ub41c\ub2e4 (VM \ub294 <code>ClassCircularityError<\/code> \ub97c \ub3cc\ub824\uc900\ub2e4).\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED\">JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED (63)<\/code><\/dt>\n <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\ub85c \uba54\uc18c\ub4dc\uc758 \ucd94\uac00\uac00 \ud544\uc694.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED\">JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED (64)<\/code><\/dt>\n <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc5d0 \uc758\ud574 \ud544\ub4dc\uac00 \ubcc0\uacbd\ub41c\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_FAILS_VERIFICATION\">JVMTI_ERROR_FAILS_VERIFICATION (62)<\/code><\/dt>\n   <dd>\ud074\ub798\uc2a4 \ubc14\uc774\ud2b8\uac00 \uac80\uc99d\uc5d0 \uc2e4\ud328\ud55c\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED\">JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED (66)<\/code><\/dt>\n   <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc9c1\uc811 \uc288\ud37c \ud074\ub798\uc2a4\uac00 \ub2e4\ub974\ub2e4, \ub610\ub294 \uc9c1\uc811 \uad6c\ud604\ub418\uace0 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub2e4\ub974\ub2e4.\n    <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED\">JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED (67)<\/code><\/dt>\n <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc5d0\uc11c\ub294 \uad6c\ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc73c\ub85c \uc120\uc5b8\ud55c \uba54\uc18c\ub4dc\ub97c \uc120\uc5b8\ud558\uc9c0 \uc54a\ub294\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_NAMES_DONT_MATCH\">JVMTI_ERROR_NAMES_DONT_MATCH (69)<\/code><\/dt>\n   <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c\ub0b4\uc5d0\uc11c \uc815\uc758\ub41c \ud074\ub798\uc2a4\uba85\uc774, \uad6c\ud074\ub798\uc2a4 \uac1d\uccb4\ub0b4\uc758 \uc774\ub984\uacfc \ub2e4\ub974\ub2e4.\n  <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED\">JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED (70)<\/code><\/dt>\n   <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc218\uc2dd\uc790\uac00 \ub2e4\ub974\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n <dt><code id=\"JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED\">JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED (71)<\/code><\/dt>\n <dd>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uac00 \uad6c\ud074\ub798\uc2a4\uc758 \ubc84\uc83c\uc758 \uc218\uc2dd\uc790\uc640 \ub2e4\ub974\ub2e4.\n   <p>&nbsp;<\/p>\n <\/dd>\n<\/dl>\n\n<p>&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<p id=\"DataSection\">&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ub370\uc774\ud130\ud615<\/h2>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294, JNI \uc5d0 \uc758\ud574 \uc815\uc758\ub41c \ub370\uc774\ud130\ud615\uc744 \ud655\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n\n<p id=\"jniTypes\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">JVMTI \ub85c \uc0ac\uc6a9\ud558\ub294 JNI \uc758 \ud615\ud0dc<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code>jboolean<\/code><\/td>\n            <td><a name=\"jboolean\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 <code>boolean<\/code> \ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4. \ubd80\ud638 \uc5c6\uc74c 8 \ube44\ud2b8.<\/td>\n        <\/tr>\n     <tr>\n          <td><code>jint<\/code><\/td>\n            <td><a name=\"jint\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 <code>int<\/code> \ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4. \ubd80\ud638 \ucca8\ubd80 32 \ube44\ud2b8.<\/td>\n       <\/tr>\n     <tr>\n          <td><code>jlong<\/code><\/td>\n           <td><a name=\"jlong\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 <code>long<\/code> \ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4. \ubd80\ud638 \ucca8\ubd80 64 \ube44\ud2b8.<\/td>\n     <\/tr>\n     <tr>\n          <td><code>jfloat<\/code><\/td>\n          <td><a name=\"jfloat\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 <code>float<\/code> \ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4. 32 \ube44\ud2b8.<\/td>\n     <\/tr>\n     <tr>\n          <td><code>jdouble<\/code><\/td>\n         <td><a name=\"jdouble\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 <code>double<\/code> \ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4. 64 \ube44\ud2b8.<\/td>\n       <\/tr>\n     <tr>\n          <td><code>jobject<\/code><\/td>\n         <td><a name=\"jobject\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uac1d\uccb4\ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code>jclass<\/code><\/td>\n          <td><a name=\"jclass\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ud074\ub798\uc2a4\ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code>jvalue<\/code><\/td>\n          <td><a name=\"jvalue\"><\/a> \ubaa8\ub4e0 \uc6d0\uc2dc\ud615 \ubc0f <code>jobject<\/code> \uc758 \ud654\uc9d1\ud569\uc774\ub2e4. \uc989, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \uc784\uc758\uc758 \uac12\uc744 \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code>jfieldID<\/code><\/td>\n            <td><a name=\"jfieldID\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ud544\ub4dc\ub97c \uc2dd\ubcc4\ud55c\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud568\uc218\ub098 \uc774\ubca4\ud2b8\ub85c\ubd80\ud130 \ubc18\ud658\ub41c <code>jfieldID<\/code> \ub294, \uc548\uc804\ud558\uac8c \ud3ec\ud568\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code>jmethodID<\/code><\/td>\n           <td><a name=\"jmethodID\"><\/a> Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc, \uc774\ub2c8\uc0e4\ub77c\uc774\uc790, \ub610\ub294 \uc0dd\uc131\uc790 \uc744 \uc2dd\ubcc4\ud55c\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc758 \ud568\uc218\ub098 \uc774\ubca4\ud2b8\ub85c\ubd80\ud130 \ubc18\ud658\ub41c <code>jmethodID<\/code> \ub294, \uc548\uc804\ud558\uac8c \ud3ec\ud568\ud560 \uc218 \uc788\ub2e4. \ub2e4\ub9cc, \ud074\ub798\uc2a4\uac00 \uc5b8\ub85c\ub4dc\ub418\uc5c8\uc744 \uacbd\uc6b0, \uadf8\uac83\ub4e4\uc740 \ubb34\ud6a8\uac00 \ub418\ubbc0\ub85c \uc0ac\uc6a9\ud574\uc120 \uc548 \ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td><code>JNIEnv<\/code><\/td>\n          <td><a name=\"JNIEnv\"><\/a> JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \ud3ec\uc778\ud130. <code>JNIEnv *<\/code> \uc758 \ud3ec\uc778\ud130\ub294 JNI \ud658\uacbd.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiTypes\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">JVMTI \uae30\uc800\ud615<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code>jvmtiEnv *<\/code><\/td>\n          <td><a name=\"jvmtiEnv\"><\/a> JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI <a href=\"#environments\">\ud658\uacbd<\/a>\uc758 \ud3ec\uc778\ud130. <a href=\"#FunctionSection\">\u300c\ud568\uc218\u300d<\/a>\ub97c \ucc38\uc870. <code>jvmtiEnv<\/code> \ub294<a href=\"#FunctionTable\">\ud568\uc218 \ud14c\uc774\ube14<\/a>\uc758 \ud3ec\uc778\ud130\ub97c \ud3ec\uc778\ud2b8 \ud55c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td rowspan=\"2\"><code>jthread<\/code><\/td>\n           <td><a name=\"jthread\"><\/a> thread\ub97c \ubcf4\uad00 \uc720\uc9c0\ud558\ub294 <a href=\"#jobject\"><code>jobject<\/code><\/a> \uc758 subtype.<\/td>\n        <\/tr>\n     <tr>\n          <td>\n          <pre>\ntypedef jobject jthread;<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td rowspan=\"2\"><code>jthreadGroup<\/code><\/td>\n          <td><a name=\"jthreadGroup\"><\/a> thread \uadf8\ub8f9\uc744 \ubcf4\uad00 \uc720\uc9c0\ud558\ub294 <a href=\"#jobject\"><code>jobject<\/code><\/a> \uc758 subtype.<\/td>\n      <\/tr>\n     <tr>\n          <td>\n          <pre>\ntypedef jobject jthreadGroup;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td rowspan=\"2\"><code>jlocation<\/code><\/td>\n         <td><a name=\"jlocation\"><\/a> 64 \ube44\ud2b8\uc758 \uac12\uc73c\ub85c, \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \ub2e8\uc870\ub86d\uac8c \uc99d\uac00\ud558\ub294 \uc2e4\ud589 \uac00\ub2a5 \uc704\uce58\ub97c \ub098\ud0c0\ub0b8\ub2e4. <code>-1<\/code> (\uc740)\ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ub098\ud0c0\ub0b8\ub2e4. \uc9c0\uc815\uc758 VM \uc758 \ud615\uc2dd\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#GetJLocationFormat\"><code>GetJLocationFormat<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n      <\/tr>\n     <tr>\n          <td>\n          <pre>\ntypedef jlong jlocation;<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td rowspan=\"2\"><code>jrawMonitorID<\/code><\/td>\n         <td><a name=\"jrawMonitorID\"><\/a> raw \ubaa8\ub2c8\ud130.<\/td>\n       <\/tr>\n     <tr>\n          <td>\n          <pre>\nstruct _jrawMonitorID;\ntypedef struct _jrawMonitorID *jrawMonitorID;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td><code>jvmtiError<\/code><\/td>\n          <td><a name=\"jvmtiError\"><\/a> \uadc0\uac00 \uc5d0\ub7ec \ucf54\ub4dc\ub97c \ubcf4\uad00 \uc720\uc9c0\ud55c\ub2e4. \uac00\ub2a5\ud55c \uac12\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#ErrorSection\">\u300c\uc5d0\ub7ec\u300d<\/a>\ub97c \ucc38\uc870.\n           <blockquote>\n          <pre>\ntypedef enum {\n    JVMTI_ERROR_NONE = 0,\n    JVMTI_ERROR_INVALID_THREAD = 10,\n      ...\n} jvmtiError;\n<\/pre>\n          <\/blockquote>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td><code>jvmtiEvent<\/code><\/td>\n          <td><a name=\"jvmtiEvent\"><\/a> \uc774\ubca4\ud2b8\ud615\uc758 \uc2dd\ubcc4\uc790. \uac00\ub2a5\ud55c \uac12\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#EventSection\">\u300c\uc774\ubca4\ud2b8\u300d<\/a>\ub97c \ucc38\uc870. \uc774 \uc2a4\ud399\uc758 \uc7a5\ub798\uc758 \ubc84\uc83c\uc5d0\uc11c\ub294, \uc774\ubca4\ud2b8\ud615 \uc2dd\ubcc4\uc790\ub85c\uc11c \uc81c\ub85c\ub97c \ud560\ub2f9\ud560 \uc218 \uc5c6\ub294 \uac83\uc774 \ubcf4\uc99d\ub41c\ub2e4.\n            <blockquote>\n          <pre>\ntypedef enum {\n    JVMTI_EVENT_SINGLE_STEP = 1,\n    JVMTI_EVENT_BREAKPOINT = 2,\n      ...\n} jvmtiEvent;\n<\/pre>\n            <\/blockquote>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td><code>jvmtiEventCallbacks<\/code><\/td>\n         <td><a name=\"jvmtiEventCallbacks\"><\/a> \uc774\ubca4\ud2b8\uc6a9 \ucf5c\ubc31.\n           <blockquote>\n          <pre>\ntypedef struct {\n    jvmtiEventVMInit VMInit;\n    jvmtiEventVMDeath VMDeath;\n      ...\n} jvmtiEventCallbacks;\n<\/pre>\n          <\/blockquote>\n         \uc644\uc804\ud55c \uad6c\uc870\uc5d0 \ub300\ud574\uc11c\ub294<a href=\"#jvmtiEventCallbacks\">\uc774\ubca4\ud2b8 \ucf5c\ubc31<\/a>\uc744 \ucc38\uc870.\n\n          <p>&nbsp;<\/p>\n         \uc608\ub97c \ub4e4\uc5b4, VM \ucd08\uae30\ud654 \ucf5c\ubc31\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ub41c\ub2e4.\n\n           <blockquote>\n          <pre>\ntypedef void (JNICALL *jvmtiEventVMInit)\n    (jvmtiEnv *jvmti_env,\n     JNIEnv* jni_env,\n     jthread thread);\n<\/pre>\n          <\/blockquote>\n         \ucf5c\ubc31 \ud568\uc218\uc758 \uc815\uc758\uc5d0 \ub300\ud574\uc11c\ub294 \uac1c\uac1c\uc758 \uc774\ubca4\ud2b8\ub97c \ucc38\uc870.<\/td>\n        <\/tr>\n     <tr>\n          <td rowspan=\"2\"><code>jniNativeInterface<\/code><\/td>\n            <td><a name=\"jniNativeInterface\"><\/a> <a href=\"http:\/\/java.sun.com\/javase\/6\/docs\/guide\/jni\/spec\/functions.html#wp23720\">JNI \uc2a4\ud399<\/a>\uc73c\ub85c \uc815\uc758\ub41c JNI \ud568\uc218 \ud14c\uc774\ube14 <code>JNINativeInterface<\/code> \uc758 \ud615\ud0dc \uc2dd\ubcc4\uc790. JNI \ucc38\uc870 \uad6c\ud604\uc5d0\uc11c\ub294, \ubc11\uc904 \ucca8\ubd80\ub85c \uc815\uc758\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr>\n          <td>\n          <pre>\ntypedef struct JNINativeInterface_ jniNativeInterface;<\/pre>\n           <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p><a name=\"StructureTypeDefinitions\"><\/a><\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad6c\uc870\ud615\uc758 \uc815\uc758<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiAddrLocationMap\"><code>jvmtiAddrLocationMap<\/code><\/a><\/td>\n          <td>\uc704\uce58 \uc5d4\ud2b8\ub9ac\uc758 \ub124\uc774\ud2f0\ube0c \uc8fc\uc18c<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities\"><code>jvmtiCapabilities<\/code><\/a><\/td>\n            <td>\uad8c\ud55c\uc758 \uad6c\uc870\uccb4<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiClassDefinition\"><code>jvmtiClassDefinition<\/code><\/a><\/td>\n          <td>\ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758\uc758 \uc124\uba85<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiExtensionEventInfo\"><code>jvmtiExtensionEventInfo<\/code><\/a><\/td>\n            <td>\ud655\uc7a5 \uc774\ubca4\ud2b8 \uc815\ubcf4<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiExtensionFunctionInfo\"><code>jvmtiExtensionFunctionInfo<\/code><\/a><\/td>\n          <td>\ud655\uc7a5 \ud568\uc218 \uc815\ubcf4<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiFrameInfo\"><code>jvmtiFrameInfo<\/code><\/a><\/td>\n          <td>\uc2a4\ud0dd \ud504\ub808\uc784 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapCallbacks\"><code>jvmtiHeapCallbacks<\/code><\/a><\/td>\n          <td>heap \ucf5c\ubc31 \ud568\uc218 \uad6c\uc870\uccb4<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfo\"><code>jvmtiHeapReferenceInfo<\/code><\/a><\/td>\n          <td>\ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfoArray\"><code>jvmtiHeapReferenceInfoArray<\/code><\/a><\/td>\n            <td>\ubc30\uc5f4 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfoConstantPool\"><code>jvmtiHeapReferenceInfoConstantPool<\/code><\/a><\/td>\n          <td>\uc815\uc218 \ud480 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfoField\"><code>jvmtiHeapReferenceInfoField<\/code><\/a><\/td>\n            <td>\ud544\ub4dc \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfoJniLocal\"><code>jvmtiHeapReferenceInfoJniLocal<\/code><\/a><\/td>\n          <td>JNI \ub85c\uceec \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfoReserved\"><code>jvmtiHeapReferenceInfoReserved<\/code><\/a><\/td>\n          <td>\uadf8 \uc678\uc758 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceInfoStackLocal\"><code>jvmtiHeapReferenceInfoStackLocal<\/code><\/a><\/td>\n          <td>\uad6d\uc18c \ubcc0\uc218 \ucc38\uc870\uc6a9\uc758 \ucc38\uc870 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiLineNumberEntry\"><code>jvmtiLineNumberEntry<\/code><\/a><\/td>\n          <td>\ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiLocalVariableEntry\"><code>jvmtiLocalVariableEntry<\/code><\/a><\/td>\n            <td>\uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \uc5d4\ud2b8\ub9ac<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiMonitorStackDepthInfo\"><code>jvmtiMonitorStackDepthInfo<\/code><\/a><\/td>\n          <td>\ubaa8\ub2c8\ud130 \uc2a4\ud0dd \uae4a\uc774 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiMonitorUsage\"><code>jvmtiMonitorUsage<\/code><\/a><\/td>\n            <td>\uac1d\uccb4 \ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9 \uc815\ubcf4<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiParamInfo\"><code>jvmtiParamInfo<\/code><\/a><\/td>\n          <td>\ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130 \uc815\ubcf4<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiStackInfo\"><code>jvmtiStackInfo<\/code><\/a><\/td>\n          <td>\uc2a4\ud0dd \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiThreadGroupInfo\"><code>jvmtiThreadGroupInfo<\/code><\/a><\/td>\n          <td>thread \uadf8\ub8f9 \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiThreadInfo\"><code>jvmtiThreadInfo<\/code><\/a><\/td>\n            <td>thread \uc815\ubcf4 \uad6c\uc870\uccb4<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiTimerInfo\"><code>jvmtiTimerInfo<\/code><\/a><\/td>\n          <td>\ud0c0\uc774\uba38 \uc815\ubcf4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p><a name=\"FunctionTypeDefinitions\"><\/a><\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\ud568\uc218\ud615\uc758 \uc815\uc758<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiArrayPrimitiveValueCallback\"><code>jvmtiArrayPrimitiveValueCallback<\/code><\/a><\/td>\n          <td>\ubc30\uc5f4 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiExtensionEvent\"><code>jvmtiExtensionEvent<\/code><\/a><\/td>\n            <td>\ud655\uc7a5 \uc774\ubca4\ud2b8<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiExtensionFunction\"><code>jvmtiExtensionFunction<\/code><\/a><\/td>\n          <td>\ud655\uc7a5 \ud568\uc218<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapIterationCallback\"><code>jvmtiHeapIterationCallback<\/code><\/a><\/td>\n          <td>heap \ubc18\ubcf5 \ucf5c\ubc31<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapObjectCallback\"><code>jvmtiHeapObjectCallback<\/code><\/a><\/td>\n            <td>heap \uac1d\uccb4\uc758 \ucf5c\ubc31<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceCallback\"><code>jvmtiHeapReferenceCallback<\/code><\/a><\/td>\n          <td>heap \ucc38\uc870 \ucf5c\ubc31<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapRootCallback\"><code>jvmtiHeapRootCallback<\/code><\/a><\/td>\n            <td>heap \ub8e8\ud2b8 \uac1d\uccb4\uc758 \ucf5c\ubc31<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiObjectReferenceCallback\"><code>jvmtiObjectReferenceCallback<\/code><\/a><\/td>\n          <td>\uac1d\uccb4 \ucc38\uc870\uc758 \ucf5c\ubc31<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiPrimitiveFieldCallback\"><code>jvmtiPrimitiveFieldCallback<\/code><\/a><\/td>\n            <td>\ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud544\ub4dc \ucf5c\ubc31<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiReservedCallback\"><code>jvmtiReservedCallback<\/code><\/a><\/td>\n            <td>\uc7a5\ub798 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \uc608\uc57d\ub41c \ucf5c\ubc31<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiStackReferenceCallback\"><code>jvmtiStackReferenceCallback<\/code><\/a><\/td>\n            <td>\uc2a4\ud0dd \ucc38\uc870 \uac1d\uccb4\uc758 \ucf5c\ubc31<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiStartFunction\"><code>jvmtiStartFunction<\/code><\/a><\/td>\n          <td>\uc5d0\uc774\uc804\ud2b8 \uae30\ub3d9 \ud568\uc218<\/td>\n       <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiStringPrimitiveValueCallback\"><code>jvmtiStringPrimitiveValueCallback<\/code><\/a><\/td>\n            <td>\uce90\ub9ad\ud130 \ub77c\uc778 \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive)\uce58 \ucf5c\ubc31<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p><a name=\"EnumerationDefinitions\"><\/a><\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uc5f4\uac70\ud615\uc758 \uc815\uc758<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiEventMode\"><code>jvmtiEventMode<\/code><\/a><\/td>\n          <td>\uc774\ubca4\ud2b8\uc758 \uc720\ud6a8\ud654\uc640 \ubb34\ud6a8\ud654<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapObjectFilter\"><code>jvmtiHeapObjectFilter<\/code><\/a><\/td>\n            <td>heap \uac1d\uccb4\uc758 \ud544\ud130\uc758 \uc5f4\uac70<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapReferenceKind\"><code>jvmtiHeapReferenceKind<\/code><\/a><\/td>\n          <td>heap \ucc38\uc870\uc758 \uc5f4\uac70<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiHeapRootKind\"><code>jvmtiHeapRootKind<\/code><\/a><\/td>\n            <td>heap \ub8e8\ud2b8\uc758 \uc885\ub958\uc758 \uc5f4\uac70<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiIterationControl\"><code>jvmtiIterationControl<\/code><\/a><\/td>\n            <td>\ubc18\ubcf5 \uc81c\uc5b4\uc758 \uc5f4\uac70<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiJlocationFormat\"><code>jvmtiJlocationFormat<\/code><\/a><\/td>\n          <td>JLocation \uc758 \ud615\uc2dd\uc758 \uc5f4\uac70<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiObjectReferenceKind\"><code>jvmtiObjectReferenceKind<\/code><\/a><\/td>\n          <td>\uac1d\uccb4 \ucc38\uc870\uc758 \uc5f4\uac70<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiParamKind\"><code>jvmtiParamKind<\/code><\/a><\/td>\n          <td>\ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130\uc758 \uc885\ub958<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiParamTypes\"><code>jvmtiParamTypes<\/code><\/a><\/td>\n            <td>\ud655\uc7a5 \ud568\uc218\/\uc774\ubca4\ud2b8 \ud30c\ub77c\ubbf8\ud130\uc758 \ud615\ud0dc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiPhase\"><code>jvmtiPhase<\/code><\/a><\/td>\n          <td>\uc2e4\ud589\uc758 \ub2e8\uacc4<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiPrimitiveType\"><code>jvmtiPrimitiveType<\/code><\/a><\/td>\n          <td>\uc6d0\uc2dc\ud615\uc758 \uc5f4\uac70<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiTimerKind\"><code>jvmtiTimerKind<\/code><\/a><\/td>\n          <td>\ud0c0\uc774\uba38\uc758 \uc885\ub958<\/td>\n        <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiVerboseFlag\"><code>jvmtiVerboseFlag<\/code><\/a><\/td>\n          <td>\uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc5f4\uac70<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p><a name=\"FunctionTable\"><\/a><\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud568\uc218 \ud14c\uc774\ube14\uc758 \ub808\uc774\uc544\uc6c3<\/td>\n      <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc704\uce58<\/td>\n         <td>\uae30\ub2a5<\/td>\n         <td>\uc120\uc5b8<\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">1<\/td>\n            <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved1;<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">2<\/td>\n            <td><a href=\"#SetEventNotificationMode\">\uc774\ubca4\ud2b8 \ud1b5\uc9c0 \ubaa8\ub4dc\uc758 \uc124\uc815<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetEventNotificationMode) (jvmtiEnv* env,\n                       jvmtiEventMode mode,\n                       jvmtiEvent event_type,\n                       jthread event_thread,\n                        ...);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">3<\/td>\n            <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved3;<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">4<\/td>\n            <td><a href=\"#GetAllThreads\">\ubaa8\ub4e0 thread\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetAllThreads) (jvmtiEnv* env,\n                       jint* threads_count_ptr,\n                       jthread** threads_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">5<\/td>\n            <td><a href=\"#SuspendThread\">thread\uc758 \uc911\ub2e8<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *SuspendThread) (jvmtiEnv* env,\n                       jthread thread);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">6<\/td>\n            <td><a href=\"#ResumeThread\">thread\uc758 \uc7ac\uac1c<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *ResumeThread) (jvmtiEnv* env,\n                       jthread thread);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">7<\/td>\n            <td><a href=\"#StopThread\">thread\uc758 \uc815\uc9c0<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *StopThread) (jvmtiEnv* env,\n                       jthread thread,\n                       jobject exception);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">8<\/td>\n            <td><a href=\"#InterruptThread\">thread\uc758 \uc778\ud130\ub7fd\ud2b8<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *InterruptThread) (jvmtiEnv* env,\n                       jthread thread);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">9<\/td>\n            <td><a href=\"#GetThreadInfo\">thread \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetThreadInfo) (jvmtiEnv* env,\n                       jthread thread,\n                       jvmtiThreadInfo* info_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">10<\/td>\n           <td><a href=\"#GetOwnedMonitorInfo\">\uc18c\uc720 \ubaa8\ub2c8\ud130 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetOwnedMonitorInfo) (jvmtiEnv* env,\n                       jthread thread,\n                       jint* owned_monitor_count_ptr,\n                       jobject** owned_monitors_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">11<\/td>\n           <td><a href=\"#GetCurrentContendedMonitor\">\ud604\uc7ac \uacbd\ud569 \ud558\uace0 \uc788\ub294 \ubaa8\ub2c8\ud130\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetCurrentContendedMonitor) (jvmtiEnv* env,\n                       jthread thread,\n                       jobject* monitor_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">12<\/td>\n           <td><a href=\"#RunAgentThread\">\uc5d0\uc774\uc804\ud2b8 thread\uc758 \uc2e4\ud589<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *RunAgentThread) (jvmtiEnv* env,\n                       jthread thread,\n                       jvmtiStartFunction proc,\n                       const void* arg,\n                       jint priority);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">13<\/td>\n           <td><a href=\"#GetTopThreadGroups\">\ud1b1 \ub808\ubca8\uc758 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetTopThreadGroups) (jvmtiEnv* env,\n                       jint* group_count_ptr,\n                       jthreadGroup** groups_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">14<\/td>\n           <td><a href=\"#GetThreadGroupInfo\">thread \uadf8\ub8f9 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetThreadGroupInfo) (jvmtiEnv* env,\n                       jthreadGroup group,\n                       jvmtiThreadGroupInfo* info_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">15<\/td>\n           <td><a href=\"#GetThreadGroupChildren\">\uc790 thread \uadf8\ub8f9\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetThreadGroupChildren) (jvmtiEnv* env,\n                       jthreadGroup group,\n                       jint* thread_count_ptr,\n                       jthread** threads_ptr,\n                       jint* group_count_ptr,\n                       jthreadGroup** groups_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">16<\/td>\n           <td><a href=\"#GetFrameCount\">\ud504\ub808\uc784 \uce74\uc6b4\ud2b8\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetFrameCount) (jvmtiEnv* env,\n                       jthread thread,\n                       jint* count_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">17<\/td>\n           <td><a href=\"#GetThreadState\">thread \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetThreadState) (jvmtiEnv* env,\n                       jthread thread,\n                       jint* thread_state_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">18<\/td>\n           <td><a href=\"#GetCurrentThread\">\ud604\uc7ac\uc758 thread\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetCurrentThread) (jvmtiEnv* env,\n                       jthread* thread_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">19<\/td>\n           <td><a href=\"#GetFrameLocation\">\ud504\ub808\uc784\uc758 \uc704\uce58\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetFrameLocation) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jmethodID* method_ptr,\n                       jlocation* location_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">20<\/td>\n           <td><a href=\"#NotifyFramePop\">\ud504\ub808\uc784\uc758 \ud31d\uc758 \ud1b5\uc9c0<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *NotifyFramePop) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">21<\/td>\n           <td><a href=\"#GetLocalObject\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uac1d\uccb4\ud615<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetLocalObject) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jobject* value_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">22<\/td>\n           <td><a href=\"#GetLocalInt\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc815\uc218\ud615<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetLocalInt) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jint* value_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">23<\/td>\n           <td><a href=\"#GetLocalLong\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \uc7a5 \uc815\uc218\ud615<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetLocalLong) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jlong* value_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">24<\/td>\n           <td><a href=\"#GetLocalFloat\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetLocalFloat) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jfloat* value_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">25<\/td>\n           <td><a href=\"#GetLocalDouble\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetLocalDouble) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jdouble* value_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">26<\/td>\n           <td><a href=\"#SetLocalObject\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uac1d\uccb4\ud615<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetLocalObject) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jobject value);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">27<\/td>\n           <td><a href=\"#SetLocalInt\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc815\uc218\ud615<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetLocalInt) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jint value);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">28<\/td>\n           <td><a href=\"#SetLocalLong\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \uc7a5 \uc815\uc218\ud615<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetLocalLong) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jlong value);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">29<\/td>\n           <td><a href=\"#SetLocalFloat\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *SetLocalFloat) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jfloat value);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">30<\/td>\n           <td><a href=\"#SetLocalDouble\">\uad6d\uc18c \ubcc0\uc218\uc758 \uc124\uc815 - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetLocalDouble) (jvmtiEnv* env,\n                       jthread thread,\n                       jint depth,\n                       jint slot,\n                       jdouble value);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">31<\/td>\n           <td><a href=\"#CreateRawMonitor\">raw \ubaa8\ub2c8\ud130\uc758 \uc791\uc131<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *CreateRawMonitor) (jvmtiEnv* env,\n                       const char* name,\n                       jrawMonitorID* monitor_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">32<\/td>\n           <td><a href=\"#DestroyRawMonitor\">raw \ubaa8\ub2c8\ud130\uc758 \ud30c\uae30<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *DestroyRawMonitor) (jvmtiEnv* env,\n                       jrawMonitorID monitor);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">33<\/td>\n           <td><a href=\"#RawMonitorEnter\">raw \ubaa8\ub2c8\ud130\uc758 \uac1c\uc2dc<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *RawMonitorEnter) (jvmtiEnv* env,\n                       jrawMonitorID monitor);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">34<\/td>\n           <td><a href=\"#RawMonitorExit\">raw \ubaa8\ub2c8\ud130\uc758 \uc885\ub8cc<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *RawMonitorExit) (jvmtiEnv* env,\n                       jrawMonitorID monitor);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">35<\/td>\n           <td><a href=\"#RawMonitorWait\">raw \ubaa8\ub2c8\ud130\uc758 \ub300\uae30<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *RawMonitorWait) (jvmtiEnv* env,\n                       jrawMonitorID monitor,\n                       jlong millis);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">36<\/td>\n           <td><a href=\"#RawMonitorNotify\">raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *RawMonitorNotify) (jvmtiEnv* env,\n                       jrawMonitorID monitor);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">37<\/td>\n           <td><a href=\"#RawMonitorNotifyAll\">raw \ubaa8\ub2c8\ud130\uc758 \ud1b5\uc9c0 (\ubaa8\ub450)<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *RawMonitorNotifyAll) (jvmtiEnv* env,\n                       jrawMonitorID monitor);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">38<\/td>\n           <td><a href=\"#SetBreakpoint\">breakpoint\uc758 \uc124\uc815<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *SetBreakpoint) (jvmtiEnv* env,\n                       jmethodID method,\n                       jlocation location);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">39<\/td>\n           <td><a href=\"#ClearBreakpoint\">breakpoint\uc758 \ud574\uc81c<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *ClearBreakpoint) (jvmtiEnv* env,\n                       jmethodID method,\n                       jlocation location);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">40<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved40;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">41<\/td>\n           <td><a href=\"#SetFieldAccessWatch\">\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetFieldAccessWatch) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">42<\/td>\n           <td><a href=\"#ClearFieldAccessWatch\">\ud544\ub4dc \uc561\uc138\uc2a4\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *ClearFieldAccessWatch) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">43<\/td>\n           <td><a href=\"#SetFieldModificationWatch\">\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \uc124\uc815<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetFieldModificationWatch) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">44<\/td>\n           <td><a href=\"#ClearFieldModificationWatch\">\ud544\ub4dc \ubcc0\uacbd\uc758 \uac10\uc2dc\uc758 \ud574\uc81c<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *ClearFieldModificationWatch) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">45<\/td>\n           <td><a href=\"#IsModifiableClass\">\ubcc0\uacbd \uac00\ub2a5 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IsModifiableClass) (jvmtiEnv* env,\n                       jclass klass,\n                       jboolean* is_modifiable_class_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">46<\/td>\n           <td><a href=\"#Allocate\">Allocate<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *Allocate) (jvmtiEnv* env,\n                       jlong size,\n                       unsigned char** mem_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">47<\/td>\n           <td><a href=\"#Deallocate\">Deallocate<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *Deallocate) (jvmtiEnv* env,\n                       unsigned char* mem);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">48<\/td>\n           <td><a href=\"#GetClassSignature\">\ud074\ub798\uc2a4\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetClassSignature) (jvmtiEnv* env,\n                       jclass klass,\n                       char** signature_ptr,\n                       char** generic_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">49<\/td>\n           <td><a href=\"#GetClassStatus\">\ud074\ub798\uc2a4\uc758 \uc0c1\ud0dc\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetClassStatus) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* status_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">50<\/td>\n           <td><a href=\"#GetSourceFileName\">\uc6d0\uc2dc \ud30c\uc77c\uba85\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetSourceFileName) (jvmtiEnv* env,\n                       jclass klass,\n                       char** source_name_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">51<\/td>\n           <td><a href=\"#GetClassModifiers\">\ud074\ub798\uc2a4\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetClassModifiers) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* modifiers_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">52<\/td>\n           <td><a href=\"#GetClassMethods\">\ud074\ub798\uc2a4\uc758 \uba54\uc18c\ub4dc\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetClassMethods) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* method_count_ptr,\n                       jmethodID** methods_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">53<\/td>\n           <td><a href=\"#GetClassFields\">\ud074\ub798\uc2a4\uc758 \ud544\ub4dc\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetClassFields) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* field_count_ptr,\n                       jfieldID** fields_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">54<\/td>\n           <td><a href=\"#GetImplementedInterfaces\">\uad6c\ud604\ub41c \uc778\ud130\ud398\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetImplementedInterfaces) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* interface_count_ptr,\n                       jclass** interfaces_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">55<\/td>\n           <td><a href=\"#IsInterface\">\uc778\ud130\ud398\uc774\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IsInterface) (jvmtiEnv* env,\n                       jclass klass,\n                       jboolean* is_interface_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">56<\/td>\n           <td><a href=\"#IsArrayClass\">\ubc30\uc5f4 \ud074\ub798\uc2a4\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *IsArrayClass) (jvmtiEnv* env,\n                       jclass klass,\n                       jboolean* is_array_class_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">57<\/td>\n           <td><a href=\"#GetClassLoader\">\ud074\ub798\uc2a4 \ub85c\ub354\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetClassLoader) (jvmtiEnv* env,\n                       jclass klass,\n                       jobject* classloader_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">58<\/td>\n           <td><a href=\"#GetObjectHashCode\">\uac1d\uccb4\uc758 \ud574\uc2dc \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetObjectHashCode) (jvmtiEnv* env,\n                       jobject object,\n                       jint* hash_code_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">59<\/td>\n           <td><a href=\"#GetObjectMonitorUsage\">\uac1d\uccb4\uc758 \ubaa8\ub2c8\ud130\uc758 \uc774\uc6a9 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetObjectMonitorUsage) (jvmtiEnv* env,\n                       jobject object,\n                       jvmtiMonitorUsage* info_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">60<\/td>\n           <td><a href=\"#GetFieldName\">\ud544\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetFieldName) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field,\n                       char** name_ptr,\n                       char** signature_ptr,\n                       char** generic_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">61<\/td>\n           <td><a href=\"#GetFieldDeclaringClass\">\ud544\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetFieldDeclaringClass) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field,\n                       jclass* declaring_class_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">62<\/td>\n           <td><a href=\"#GetFieldModifiers\">\ud544\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetFieldModifiers) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field,\n                       jint* modifiers_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">63<\/td>\n           <td><a href=\"#IsFieldSynthetic\">\ud569\uc131 \ud544\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IsFieldSynthetic) (jvmtiEnv* env,\n                       jclass klass,\n                       jfieldID field,\n                       jboolean* is_synthetic_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">64<\/td>\n           <td><a href=\"#GetMethodName\">\uba54\uc18c\ub4dc\uc758 \uc774\ub984\uacfc \uc2dc\uadf8\ub2c8\ucc60\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetMethodName) (jvmtiEnv* env,\n                       jmethodID method,\n                       char** name_ptr,\n                       char** signature_ptr,\n                       char** generic_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">65<\/td>\n           <td><a href=\"#GetMethodDeclaringClass\">\uba54\uc18c\ub4dc\uc758 \uc120\uc5b8 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetMethodDeclaringClass) (jvmtiEnv* env,\n                       jmethodID method,\n                       jclass* declaring_class_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">66<\/td>\n           <td><a href=\"#GetMethodModifiers\">\uba54\uc18c\ub4dc\uc758 \uc218\uc2dd\uc790\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetMethodModifiers) (jvmtiEnv* env,\n                       jmethodID method,\n                       jint* modifiers_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">67<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved67;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">68<\/td>\n           <td><a href=\"#GetMaxLocals\">\uad6d\uc18c \ubcc0\uc218\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetMaxLocals) (jvmtiEnv* env,\n                       jmethodID method,\n                       jint* max_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">69<\/td>\n           <td><a href=\"#GetArgumentsSize\">\uc778\uc218\uc758 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetArgumentsSize) (jvmtiEnv* env,\n                       jmethodID method,\n                       jint* size_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">70<\/td>\n           <td><a href=\"#GetLineNumberTable\">\ud589 \ubc88\ud638 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetLineNumberTable) (jvmtiEnv* env,\n                       jmethodID method,\n                       jint* entry_count_ptr,\n                       jvmtiLineNumberEntry** table_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">71<\/td>\n           <td><a href=\"#GetMethodLocation\">\uba54\uc18c\ub4dc\uc758 \ubc30\uce58 \uc704\uce58\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetMethodLocation) (jvmtiEnv* env,\n                       jmethodID method,\n                       jlocation* start_location_ptr,\n                       jlocation* end_location_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">72<\/td>\n           <td><a href=\"#GetLocalVariableTable\">\uad6d\uc18c \ubcc0\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetLocalVariableTable) (jvmtiEnv* env,\n                       jmethodID method,\n                       jint* entry_count_ptr,\n                       jvmtiLocalVariableEntry** table_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">73<\/td>\n           <td><a href=\"#SetNativeMethodPrefix\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *SetNativeMethodPrefix) (jvmtiEnv* env,\n                       const char* prefix);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">74<\/td>\n           <td><a href=\"#SetNativeMethodPrefixes\">\ubcf5\uc218\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc \uc811\ub450\uc0ac\uc758 \uc124\uc815<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetNativeMethodPrefixes) (jvmtiEnv* env,\n                       jint prefix_count,\n                       char** prefixes);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">75<\/td>\n           <td><a href=\"#GetBytecodes\">\ubc14\uc774\ud2b8 \ucf54\ub4dc\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetBytecodes) (jvmtiEnv* env,\n                       jmethodID method,\n                       jint* bytecode_count_ptr,\n                       unsigned char** bytecodes_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">76<\/td>\n           <td><a href=\"#IsMethodNative\">\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IsMethodNative) (jvmtiEnv* env,\n                       jmethodID method,\n                       jboolean* is_native_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">77<\/td>\n           <td><a href=\"#IsMethodSynthetic\">\ud569\uc131 \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *IsMethodSynthetic) (jvmtiEnv* env,\n                       jmethodID method,\n                       jboolean* is_synthetic_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">78<\/td>\n           <td><a href=\"#GetLoadedClasses\">\ub85c\ub4dc\uac00 \ub05d\ub09c \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetLoadedClasses) (jvmtiEnv* env,\n                       jint* class_count_ptr,\n                       jclass** classes_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">79<\/td>\n           <td><a href=\"#GetClassLoaderClasses\">\ud074\ub798\uc2a4 \ub85c\ub354 \ud074\ub798\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetClassLoaderClasses) (jvmtiEnv* env,\n                       jobject initiating_loader,\n                       jint* class_count_ptr,\n                       jclass** classes_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">80<\/td>\n           <td><a href=\"#PopFrame\">\ud504\ub808\uc784\uc758 \ud31d<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *PopFrame) (jvmtiEnv* env,\n                       jthread thread);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">81<\/td>\n           <td><a href=\"#ForceEarlyReturnObject\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uac1d\uccb4\ud615<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *ForceEarlyReturnObject) (jvmtiEnv* env,\n                       jthread thread,\n                       jobject value);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">82<\/td>\n           <td><a href=\"#ForceEarlyReturnInt\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc815\uc218\ud615<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *ForceEarlyReturnInt) (jvmtiEnv* env,\n                       jthread thread,\n                       jint value);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">83<\/td>\n           <td><a href=\"#ForceEarlyReturnLong\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \uc7a5 \uc815\uc218\ud615<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *ForceEarlyReturnLong) (jvmtiEnv* env,\n                       jthread thread,\n                       jlong value);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">84<\/td>\n           <td><a href=\"#ForceEarlyReturnFloat\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *ForceEarlyReturnFloat) (jvmtiEnv* env,\n                       jthread thread,\n                       jfloat value);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">85<\/td>\n           <td><a href=\"#ForceEarlyReturnDouble\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - \ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9 \uc18c\uc218\uc810\uc218(\uc2e4\uc218)\ud615<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *ForceEarlyReturnDouble) (jvmtiEnv* env,\n                       jthread thread,\n                       jdouble value);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">86<\/td>\n           <td><a href=\"#ForceEarlyReturnVoid\">\uc870\uae30 \ubcf5\uadc0\uc758 \uac15\uc81c - void \ud615<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *ForceEarlyReturnVoid) (jvmtiEnv* env,\n                       jthread thread);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">87<\/td>\n           <td><a href=\"#RedefineClasses\">\ud074\ub798\uc2a4\uc758 \uc7ac\uc815\uc758<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *RedefineClasses) (jvmtiEnv* env,\n                       jint class_count,\n                       const jvmtiClassDefinition* class_definitions);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">88<\/td>\n           <td><a href=\"#GetVersionNumber\">\ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetVersionNumber) (jvmtiEnv* env,\n                       jint* version_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">89<\/td>\n           <td><a href=\"#GetCapabilities\">\uae30\ub2a5\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetCapabilities) (jvmtiEnv* env,\n                       jvmtiCapabilities* capabilities_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">90<\/td>\n           <td><a href=\"#GetSourceDebugExtension\">\uc18c\uc2a4 \ub514\ubc84\uadf8 \ud655\uc7a5 \uae30\ub2a5\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetSourceDebugExtension) (jvmtiEnv* env,\n                       jclass klass,\n                       char** source_debug_extension_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">91<\/td>\n           <td><a href=\"#IsMethodObsolete\">\ud3d0\uae30\ub41c \uba54\uc18c\ub4dc\uc778\uac00 \uc5b4\ub5a4\uac00\uc758 \uac80\uc0ac<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IsMethodObsolete) (jvmtiEnv* env,\n                       jmethodID method,\n                       jboolean* is_obsolete_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">92<\/td>\n           <td><a href=\"#SuspendThreadList\">threaded list\uc758 \uc911\ub2e8<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *SuspendThreadList) (jvmtiEnv* env,\n                       jint request_count,\n                       const jthread* request_list,\n                       jvmtiError* results);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">93<\/td>\n           <td><a href=\"#ResumeThreadList\">threaded list\uc758 \uc7ac\uac1c<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *ResumeThreadList) (jvmtiEnv* env,\n                       jint request_count,\n                       const jthread* request_list,\n                       jvmtiError* results);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">94<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved94;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">95<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved95;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">96<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved96;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">97<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved97;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">98<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved98;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">99<\/td>\n           <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved99;<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">100<\/td>\n          <td><a href=\"#GetAllStackTraces\">\ubaa8\ub4e0 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetAllStackTraces) (jvmtiEnv* env,\n                       jint max_frame_count,\n                       jvmtiStackInfo** stack_info_ptr,\n                       jint* thread_count_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">101<\/td>\n          <td><a href=\"#GetThreadListStackTraces\">threaded list\uc758 \uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetThreadListStackTraces) (jvmtiEnv* env,\n                       jint thread_count,\n                       const jthread* thread_list,\n                       jint max_frame_count,\n                       jvmtiStackInfo** stack_info_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">102<\/td>\n          <td><a href=\"#GetThreadLocalStorage\">thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetThreadLocalStorage) (jvmtiEnv* env,\n                       jthread thread,\n                       void** data_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">103<\/td>\n          <td><a href=\"#SetThreadLocalStorage\">thread \ub85c\uceec\uc778 \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetThreadLocalStorage) (jvmtiEnv* env,\n                       jthread thread,\n                       const void* data);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">104<\/td>\n          <td><a href=\"#GetStackTrace\">\uc2a4\ud0dd \ud2b8\ub808\uc774\uc2a4\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetStackTrace) (jvmtiEnv* env,\n                       jthread thread,\n                       jint start_depth,\n                       jint max_frame_count,\n                       jvmtiFrameInfo* frame_buffer,\n                       jint* count_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">105<\/td>\n          <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved105;<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">106<\/td>\n          <td><a href=\"#GetTag\">\ud0dc\uadf8\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetTag) (jvmtiEnv* env,\n                       jobject object,\n                       jlong* tag_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">107<\/td>\n          <td><a href=\"#SetTag\">\ud0dc\uadf8\uc758 \uc124\uc815<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *SetTag) (jvmtiEnv* env,\n                       jobject object,\n                       jlong tag);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">108<\/td>\n          <td><a href=\"#ForceGarbageCollection\">\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac15\uc81c<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *ForceGarbageCollection) (jvmtiEnv* env);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">109<\/td>\n          <td><a href=\"#IterateOverObjectsReachableFromObject\">\uac1d\uccb4\ub85c\ubd80\ud130 \ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IterateOverObjectsReachableFromObject) (jvmtiEnv* env,\n                       jobject object,\n                       jvmtiObjectReferenceCallback object_reference_callback,\n                       const void* user_data);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">110<\/td>\n          <td><a href=\"#IterateOverReachableObjects\">\ub3c4\ub2ec \uac00\ub2a5\ud55c \uac1d\uccb4\uc758 \ubc18\ubcf5<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *IterateOverReachableObjects) (jvmtiEnv* env,\n                       jvmtiHeapRootCallback heap_root_callback,\n                       jvmtiStackReferenceCallback stack_ref_callback,\n                       jvmtiObjectReferenceCallback object_ref_callback,\n                       const void* user_data);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">111<\/td>\n          <td><a href=\"#IterateOverHeap\">heap\uc758 \ubc18\ubcf5<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *IterateOverHeap) (jvmtiEnv* env,\n                       jvmtiHeapObjectFilter object_filter,\n                       jvmtiHeapObjectCallback heap_object_callback,\n                       const void* user_data);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">112<\/td>\n          <td><a href=\"#IterateOverInstancesOfClass\">\ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc758 \ubc18\ubcf5<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *IterateOverInstancesOfClass) (jvmtiEnv* env,\n                       jclass klass,\n                       jvmtiHeapObjectFilter object_filter,\n                       jvmtiHeapObjectCallback heap_object_callback,\n                       const void* user_data);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">113<\/td>\n          <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved113;<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">114<\/td>\n          <td><a href=\"#GetObjectsWithTags\">\ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud55c \uac1d\uccb4\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetObjectsWithTags) (jvmtiEnv* env,\n                       jint tag_count,\n                       const jlong* tags,\n                       jint* count_ptr,\n                       jobject** object_result_ptr,\n                       jlong** tag_result_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">115<\/td>\n          <td><a href=\"#FollowReferences\">\ucc38\uc870\uc758 \ucd94\uc801<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *FollowReferences) (jvmtiEnv* env,\n                       jint heap_filter,\n                       jclass klass,\n                       jobject initial_object,\n                       const jvmtiHeapCallbacks* callbacks,\n                       const void* user_data);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">116<\/td>\n          <td><a href=\"#IterateThroughHeap\">heap\ub0b4\uc5d0\uc11c\uc758 \ubc18\ubcf5\ud574<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *IterateThroughHeap) (jvmtiEnv* env,\n                       jint heap_filter,\n                       jclass klass,\n                       const jvmtiHeapCallbacks* callbacks,\n                       const void* user_data);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">117<\/td>\n          <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved117;<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">118<\/td>\n          <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved118;<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">119<\/td>\n          <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved119;<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">120<\/td>\n          <td><a href=\"#SetJNIFunctionTable\">JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \uc124\uc815<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *SetJNIFunctionTable) (jvmtiEnv* env,\n                       const jniNativeInterface* function_table);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">121<\/td>\n          <td><a href=\"#GetJNIFunctionTable\">JNI \ud568\uc218 \ud14c\uc774\ube14\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetJNIFunctionTable) (jvmtiEnv* env,\n                       jniNativeInterface** function_table);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">122<\/td>\n          <td><a href=\"#SetEventCallbacks\">\uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetEventCallbacks) (jvmtiEnv* env,\n                       const jvmtiEventCallbacks* callbacks,\n                       jint size_of_callbacks);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">123<\/td>\n          <td><a href=\"#GenerateEvents\">\uc774\ubca4\ud2b8\uc758 \uc0dd\uc131<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GenerateEvents) (jvmtiEnv* env,\n                       jvmtiEvent event_type);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">124<\/td>\n          <td><a href=\"#GetExtensionFunctions\">\ud655\uc7a5 \ud568\uc218\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetExtensionFunctions) (jvmtiEnv* env,\n                       jint* extension_count_ptr,\n                       jvmtiExtensionFunctionInfo** extensions);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">125<\/td>\n          <td><a href=\"#GetExtensionEvents\">\ud655\uc7a5 \uc774\ubca4\ud2b8\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetExtensionEvents) (jvmtiEnv* env,\n                       jint* extension_count_ptr,\n                       jvmtiExtensionEventInfo** extensions);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">126<\/td>\n          <td><a href=\"#SetExtensionEventCallback\">\ud655\uc7a5 \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc124\uc815<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetExtensionEventCallback) (jvmtiEnv* env,\n                       jint extension_event_index,\n                       jvmtiExtensionEvent callback);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">127<\/td>\n          <td><a href=\"#DisposeEnvironment\">\ud658\uacbd\uc758 \ud30c\uae30<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *DisposeEnvironment) (jvmtiEnv* env);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">128<\/td>\n          <td><a href=\"#GetErrorName\">\uc5d0\ub7ec\uba85\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetErrorName) (jvmtiEnv* env,\n                       jvmtiError error,\n                       char** name_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">129<\/td>\n          <td><a href=\"#GetJLocationFormat\">JLocation \ud615\uc2dd\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetJLocationFormat) (jvmtiEnv* env,\n                       jvmtiJlocationFormat* format_ptr);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">130<\/td>\n          <td><a href=\"#GetSystemProperties\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetSystemProperties) (jvmtiEnv* env,\n                       jint* count_ptr,\n                       char*** property_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">131<\/td>\n          <td><a href=\"#GetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetSystemProperty) (jvmtiEnv* env,\n                       const char* property,\n                       char** value_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">132<\/td>\n          <td><a href=\"#SetSystemProperty\">\uc2dc\uc2a4\ud15c \ud504\ub85c\ud37c\ud2f0\uc758 \uc124\uc815<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv* env,\n                       const char* property,\n                       const char* value);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">133<\/td>\n          <td><a href=\"#GetPhase\">\ub2e8\uacc4\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetPhase) (jvmtiEnv* env,\n                       jvmtiPhase* phase_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">134<\/td>\n          <td><a href=\"#GetCurrentThreadCpuTimerInfo\">\ud604\uc7ac\uc758 thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetCurrentThreadCpuTimerInfo) (jvmtiEnv* env,\n                       jvmtiTimerInfo* info_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">135<\/td>\n          <td><a href=\"#GetCurrentThreadCpuTime\">\ud604\uc7ac\uc758 thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetCurrentThreadCpuTime) (jvmtiEnv* env,\n                       jlong* nanos_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">136<\/td>\n          <td><a href=\"#GetThreadCpuTimerInfo\">thread\uc758 CPU \ud0c0\uc774\uba38 \uc815\ubcf4\ub97c \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetThreadCpuTimerInfo) (jvmtiEnv* env,\n                       jvmtiTimerInfo* info_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">137<\/td>\n          <td><a href=\"#GetThreadCpuTime\">thread\uc758 CPU \uc2dc\uac04\uc744 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetThreadCpuTime) (jvmtiEnv* env,\n                       jthread thread,\n                       jlong* nanos_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">138<\/td>\n          <td><a href=\"#GetTimerInfo\">\ud0c0\uc774\uba38 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetTimerInfo) (jvmtiEnv* env,\n                       jvmtiTimerInfo* info_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">139<\/td>\n          <td><a href=\"#GetTime\">\uc2dc\uac04\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetTime) (jvmtiEnv* env,\n                       jlong* nanos_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">140<\/td>\n          <td><a href=\"#GetPotentialCapabilities\">\uc7a0\uc7ac\uc801\uc778 \uad8c\ud55c\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetPotentialCapabilities) (jvmtiEnv* env,\n                       jvmtiCapabilities* capabilities_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">141<\/td>\n          <td><i>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc<\/i><\/td>\n          <td>\n          <pre>\nvoid *reserved141;<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">142<\/td>\n          <td><a href=\"#AddCapabilities\">\uad8c\ud55c\uc758 \ucd94\uac00<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *AddCapabilities) (jvmtiEnv* env,\n                       const jvmtiCapabilities* capabilities_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">143<\/td>\n          <td><a href=\"#RelinquishCapabilities\">\uad8c\ud55c\uc758 \ubc29\ud3d0<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *RelinquishCapabilities) (jvmtiEnv* env,\n                       const jvmtiCapabilities* capabilities_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">144<\/td>\n          <td><a href=\"#GetAvailableProcessors\">\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ud504\ub85c\uc138\uc11c\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetAvailableProcessors) (jvmtiEnv* env,\n                       jint* processor_count_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">145<\/td>\n          <td><a href=\"#GetClassVersionNumbers\">\ud074\ub798\uc2a4 \ubc84\uc83c \ubc88\ud638\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetClassVersionNumbers) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* minor_version_ptr,\n                       jint* major_version_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">146<\/td>\n          <td><a href=\"#GetConstantPool\">\uc815\uc218 \ud480\uc758 \ucde8\ub4dd<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *GetConstantPool) (jvmtiEnv* env,\n                       jclass klass,\n                       jint* constant_pool_count_ptr,\n                       jint* constant_pool_byte_count_ptr,\n                       unsigned char** constant_pool_bytes_ptr);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">147<\/td>\n          <td><a href=\"#GetEnvironmentLocalStorage\">\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \ucde8\ub4dd<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *GetEnvironmentLocalStorage) (jvmtiEnv* env,\n                       void** data_ptr);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">148<\/td>\n          <td><a href=\"#SetEnvironmentLocalStorage\">\ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed\uc758 \uc124\uc815<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetEnvironmentLocalStorage) (jvmtiEnv* env,\n                       const void* data);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">149<\/td>\n          <td><a href=\"#AddToBootstrapClassLoaderSearch\">bootstrap \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *AddToBootstrapClassLoaderSearch) (jvmtiEnv* env,\n                       const char* segment);<\/pre>\n          <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">150<\/td>\n          <td><a href=\"#SetVerboseFlag\">\uc7a5\ud669 \ud50c\ub798\uadf8\uc758 \uc124\uc815<\/a><\/td>\n           <td>\n          <pre>\njvmtiError (JNICALL *SetVerboseFlag) (jvmtiEnv* env,\n                       jvmtiVerboseFlag flag,\n                       jboolean value);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">151<\/td>\n          <td><a href=\"#AddToSystemClassLoaderSearch\">\uc2dc\uc2a4\ud15c \ud074\ub798\uc2a4 \ub85c\ub354 \uac80\uc0c9\uc758 \ucd94\uac00<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *AddToSystemClassLoaderSearch) (jvmtiEnv* env,\n                       const char* segment);<\/pre>\n         <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">152<\/td>\n          <td><a href=\"#RetransformClasses\">\ud074\ub798\uc2a4\uc758 \uc7ac\ubcc0\ud658<\/a><\/td>\n          <td>\n          <pre>\njvmtiError (JNICALL *RetransformClasses) (jvmtiEnv* env,\n                       jint class_count,\n                       const jclass* classes);<\/pre>\n           <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">153<\/td>\n          <td><a href=\"#GetOwnedMonitorStackDepthInfo\">\uc18c\uc720 \ubaa8\ub2c8\ud130 \uc2a4\ud0dd \uae4a\uc774 \uc815\ubcf4\uc758 \ucde8\ub4dd<\/a><\/td>\n         <td>\n          <pre>\njvmtiError (JNICALL *GetOwnedMonitorStackDepthInfo) (jvmtiEnv* env,\n                       jthread thread,\n                       jint* monitor_info_count_ptr,\n                       jvmtiMonitorStackDepthInfo** monitor_info_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n     <tr>\n          <td align=\"right\">154<\/td>\n          <td><a href=\"#GetObjectSize\">\uac1d\uccb4 \uc0ac\uc774\uc988\uc758 \ucde8\ub4dd<\/a><\/td>\n            <td>\n          <pre>\njvmtiError (JNICALL *GetObjectSize) (jvmtiEnv* env,\n                       jobject object,\n                       jlong* size_ptr);<\/pre>\n            <\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<p id=\"EventSection\">&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc774\ubca4\ud2b8<\/h2>\n\n<h4 id=\"eventIntro\">\uc774\ubca4\ud2b8\uc758 \ucc98\ub9ac<\/h4>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294, \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\ub0b4\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ub9ce\uc740 \uc774\ubca4\ud2b8\uc5d0 \ub300\ud55c \ud1b5\uc9c0\ub97c \ubc1b\uc744 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ubca4\ud2b8\ub97c \ucc98\ub9ac\ud558\ub824\uba74 ,<a href=\"#SetEventCallbacks\"><code>SetEventCallbacks<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \ucf5c\ubc31 \ud568\uc218\uc138\ud2b8\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. \uc774\ubca4\ud2b8 \ub9c8\ub2e4, \ub300\uc751\ud558\ub294 \ucf5c\ubc31 \ud568\uc218\uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \ucf5c\ubc31 \ud568\uc218\uc758 \uc778\uc218\ub294, \uc774\ubca4\ud2b8\uc5d0 \uad00\ud55c \ucd94\uac00 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ucf5c\ubc31 \ud568\uc218\ub294 \uc77c\ubc18\uc801\uc73c\ub85c, \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 thread\ub0b4\ub85c\ubd80\ud130 \ubd88\ub824 \uac11\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc774 \uc774\ubca4\ud2b8\ub97c \ud050\uc5d0 \ub123\ub294 \uac83\uc740, \uacb0\ucf54 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740, \uc774\ubca4\ud2b8\uc758 \ucf5c\ubc31 \ud568\uc218\ub97c \uc8fc\uc758 \uae4a\uac8c \uae30\uc220\ud560 \ud544\uc694\uac00 \uc788\ub294 \uac83\uc744 \uc758\ubbf8\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ud6c4\uc5d0, \uc77c\ubc18\uc801\uc778 \uac00\uc774\ub4dc \ub77c\uc778\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \ud55c\uce35 \ub354 \uc790\uc138\ud55c \uc81c\uc548\uc5d0 \ub300\ud574\uc11c\ub294, \uac1c\uac1c\uc758 \uc774\ubca4\ud2b8\uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<ul type=\"disc\">\n   <li>\uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\uc758 \uc2e4\ud589\uc911\uc5d0 throw \ub41c \uc608\uc678\ub294, \ud604\uc7ac\uc758 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 thread\ub0b4\uc5d0\uc11c \ud604\uc7ac \ubcf4\ub958\uc911\uc758 \uc608\uc678\ub97c \ub367\uc4f0\uae30 \uac00\ub2a5\ud558\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uc608\uc678\ub97c \uc0dd\uc131\ud560 \uac00\ub2a5\uc131\uc774 \uc788\ub294 JNI \ud638\ucd9c\uc744 \uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\ub85c\ubd80\ud130 \uc2e4\ud589\ud558\ub294 \uacbd\uc6b0\ub294, \ubcf4\ub958\uc911\uc758 \uc608\uc678\ub97c \ubcf4\uc874\ud558\ub3c4\ub85d(\ub4ef\uc774) \uc870\uc2ec\ud558\uc9c0 \uc54a\uc73c\uba74 \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n    <li>\uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\ub294, \uc7ac\uc785 \uac00\ub2a5\ud558\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uad6c\ud604\uc740, \uc774\ubca4\ud2b8\ub97c \ud050\uc5d0 \ub123\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\uac00 \ubcf5\uc218\uc758 \uc774\ubca4\ud2b8\ub97c \ud55c \ubc88\uc5d0 1 \uac1c(\uc0b4)\uc529 \ucc98\ub9ac\ud560 \ud544\uc694\uac00 \uc788\ub294 \uacbd\uc6b0\ub294, \uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\uc758 \ub0b4\ubd80\uc5d0\uc11c raw \ubaa8\ub2c8\ud130\ub97c \uc0ac\uc6a9\ud558\uba74(\uc790), \uc774\ubca4\ud2b8\uc758 \ucc98\ub9ac\ub97c \uc9c1\ub82c\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n   <li>JNI \uc758 FindClass \ud568\uc218\ub97c \uc2e4\ud589\ud574 \ud074\ub798\uc2a4\ub97c \ub85c\ub4dc\ud558\ub294 \uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\uc5d0 \ub300\ud574\uc11c\ub294, FindClass \uac00 \ud604\uc7ac\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \uad00\ub828\uc9d3\uace0 \ub41c \ud074\ub798\uc2a4 \ub85c\ub354\ub97c \ucc3e\uc544\ub0b4\ub294 \uac83\uc5d0 \uc8fc\uc758\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud074\ub798\uc2a4\uc758 \ub85c\ub4dc\ub97c \ubaa9\uc801\uc73c\ub85c \ud558\ub294 \uacbd\uc6b0, \ucf5c\ubc31\uc5d0\uc758 \ud30c\ub77c\ubbf8\ud130\ub85c\uc11c JNI \ud658\uacbd\uc744 \ud3ec\ud568\ud55c \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc740, \uadf8\uac83\uc774 \ub124\uc774\ud2f0\ube0c \ud638\ucd9c\uc778\uac83 \uac19\uc774 \ub2e4\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4. \uc774 \uacbd\uc6b0, \uadf8 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub294 \uc774\ubca4\ud2b8 thread\uc758 \ud604\uc7ac\uc758 \ud504\ub808\uc784\uc758 \ud074\ub798\uc2a4\ub0b4\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc774\ubca4\ud2b8\uc548\uc5d0\ub294, JNI \ucc38\uc870\ub97c \uc0ac\uc6a9\ud574 \uac1d\uccb4\ub97c \uc2dd\ubcc4\ud558\ub294 \uac83\uc774 \uc788\uc2b5\ub2c8\ub2e4. JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc774\ubca4\ud2b8\ub0b4\uc758 \ubaa8\ub4e0 \ucc38\uc870\ub294, JNI \ub85c\uceec \ucc38\uc870\ub85c, \uc774\ubca4\ud2b8 \ucf5c\ubc31 \ud568\uc218\ub85c\ubd80\ud130 \ubcf5\uadc0\ud558\uba74(\uc790) \ubb34\ud6a8\uac00 \ub429\ub2c8\ub2e4. \uae30\uc220\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \uc774\ubca4\ud2b8 \ucf5c\ubc31\ub0b4\uc5d0\uc11c \uc1a1\uc2e0\ub41c \ud3ec\uc778\ud130\uc5d0 \uc758\ud574 \ucc38\uc870\ub418\ub294 \uba54\ubaa8\ub9ac\ub294, \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc758 \uc885\ub8cc\ud6c4\ub294 \ucc38\uc870\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uae30\uc220\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \uc774\ubca4\ud2b8\ub294, \uadf8 \uc774\ubca4\ud2b8\ub97c \uc77c\uc73c\ud0a8 thread\uc5d0 \uc804\ub2ec\ub429\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub294, \ubc1c\uc0dd\uacfc \ub3d9\uc2dc\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uac01 \uc774\ubca4\ud2b8\uc758 \uc2a4\ud399\uc5d0\ub294, \uc774 \uc774\ubca4\ud2b8\ub97c \uc1a1\uc2e0\ud560 \uc218 \uc788\uc744<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc5d0 \ub300\ud55c \uae30\uc220\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub97c \uc1a1\uc2e0\ud560 \uc218 \uc788\uc744 \ub2e8\uacc4 \uc774\uc678\uc758 \ub2e8\uacc4\uc5d0\uc11c \uc774\ubca4\ud2b8\ub97c \ud2b8\ub9ac\uac70\ud574\ub3c4, \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ubca4\ud2b8\uc758 \uc2e4\ud589 \uc0c1\ud0dc\uac00, \uc774\ubca4\ud2b8\uc758 \uc0dd\uc131\uc6d0thread\uc5d0 \uc758\ud574 \ubcc0\uacbd\ub420 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, thread\uac00 \uc774\ubca4\ud2b8\uc5d0 \uc758\ud574 \uc911\ub2e8\ub420 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub97c \uc911\ub2e8\uc2dc\ud0ac \ud544\uc694\uac00 \uc788\ub294 \uc5d0\uc774\uc804\ud2b8\ub294,<a href=\"#SuspendThread\"><code>SuspendThread<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uba85\uc2dc\uc801\uc73c\ub85c thread\ub97c \uc911\ub2e8\uc2dc\ud0a4\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ubcf5\uc218\uc758 \ud658\uacbd\uc5d0\uc11c \uc720\ud6a8\ud558\uac8c \ub418\uc5b4 \uc788\ub294 \uc774\ubca4\ud2b8\ub294, \uc774\ub7ec\ud55c \ud658\uacbd\uc774 \uc791\uc131\ub41c \uc21c\uc11c\uc5d0, \uac01 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<h4 id=\"enablingevents\">\uc774\ubca4\ud2b8\uc758 \uc720\ud6a8\ud654<\/h4>\n\n<p>\ubaa8\ub4e0 \uc774\ubca4\ud2b8\ub294, \ucd08\uae30 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ubb34\ud6a8\uac00 \ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub97c \uc218\uc2e0\ud558\ub824\uba74 , \ub2e4\uc74c\uacfc \uac19\uc774 \ud569\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n    <li>\uc774\ubca4\ud2b8\uac00 \uad8c\ud55c\uc744 \ud544\uc694\ub85c \ud558\ub294 \uacbd\uc6b0,<a href=\"#AddCapabilities\"><code>AddCapabilities<\/code><\/a> \uc744 \uc0ac\uc6a9\ud574 \uadf8 \uad8c\ud55c\uc744 \ucd94\uac00\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/li>\n   <li><a href=\"#SetEventCallbacks\"><code>SetEventCallbacks<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574, \uc774\ubca4\ud2b8\uc758 \ucf5c\ubc31\uc744 \uc124\uc815\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/li>\n <li><a href=\"#SetEventNotificationMode\"><code>SetEventNotificationMode<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574, \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/li>\n<\/ul>\n\n<h4 id=\"eventorder\">\uac19\uc740 \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ubcf5\uc218\uc758 \uc774\ubca4\ud2b8<\/h4>\n\n<p>\ub9ce\uc740 \uc0c1\ud669\uc73c\ub85c, 1 \uac1c\uc758 thread\ub0b4\uc758 \uac19\uc740 \uc704\uce58\uc5d0\uc11c \ubcf5\uc218\uc758 \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ud55c \uc0c1\ud669\uc5d0\uc11c\ub294, \uc774 \ub9c8\ub514\ub85c \uc124\uba85\ud558\ub294 \uc21c\uc11c\ub85c, \uc774\ubca4\ud2b8 \ucf5c\ubc31\uc5d0 \uc758\ud574 \ubaa8\ub4e0 \uc774\ubca4\ud2b8\uac00 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud604\uc7ac \uc704\uce58\uac00 \uba54\uc18c\ub4dc\uc758 \uc5d4\ud2b8\ub9ac \ud3ec\uc778\ud2b8\uc778 \uacbd\uc6b0\ub294, \ub3d9\uc77c thread\ub0b4\uc758 \ud604\uc7ac \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud55c \uac83 \uc678\uc758 \ubaa8\ub4e0 \uc774\ubca4\ud2b8\ubcf4\ub2e4 \uc804\uc5d0,<a href=\"#MethodEntry\"><code>MethodEntry<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud604\uc7ac \uc704\uce58\uc5d0\uc11c \uc608\uc678\uc758 \uce90\uce58\uac00 \uac80\ucd9c\ub418\uc5c8\uc744 \uacbd\uc6b0 (catch \uc808\uc758 \uc120\ub450\uc758 \uacbd\uc6b0\uc778\uac00, \ubbf8\ucc98\ub9ac\uc758 \uc608\uc678\ub97c \ud574\uc81c\ud55c \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \ubcf5\uadc0\ud55c \uc704\uce58\uc758 \uacbd\uc6b0)\ub294, \ub3d9\uc77c thread\ub0b4\uc758 \ud604\uc7ac \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud55c \uac83 \uc678\uc758 \ubaa8\ub4e0 \uc774\ubca4\ud2b8\ubcf4\ub2e4 \uc804\uc5d0,<code>exceptionCatch<\/code> \uc774\ubca4\ud2b8\uac00 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>singleStep<\/code> \uc774\ubca4\ud2b8 \ub610\ub294 <code>breakpoint<\/code> \uc774\ubca4\ud2b8\uac00 \ud604\uc7ac \uc704\uce58\uc5d0\uc11c \ud2b8\ub9ac\uac70\ub418\ub294 \uacbd\uc6b0, \uadf8 \uc774\ubca4\ud2b8\ub294, \ud604\uc7ac \uc704\uce58\uc758 \ucf54\ub4dc\uac00 \uc2e4\ud589\ub418\uae30 \uc9c1\uc804\uc5d0 \ubc1c\uc0dd\ud558\ub294 \uac83\uc774\ub77c\uace0 \uc815\uc758\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc774\ubca4\ud2b8\ub294, \ub3d9\uc77c thread\ub0b4\uc758 \ud604\uc7ac \uc704\uce58\uc5d0 \uc788\ub294 \ucf54\ub4dc\uc758 \uc2e4\ud589\uc5d0 \uc758\ud574 \ud2b8\ub9ac\uac70\ub418\ub294 \uc5b4\ub290 \uc774\ubca4\ud2b8 (\ud2b9\ud788,<code>exception<\/code>,<code>fieldAccess<\/code>, \ubc0f <code>fieldModification<\/code>)\ubcf4\ub2e4 \uc804\uc5d0 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4. \uc2a4\ud15d \uc774\ubca4\ud2b8\uc640 breakpoint \uc774\ubca4\ud2b8\uc758 \uc591\ucabd \ubaa8\ub450\uac00 \ub3d9\uc77c\ud55c thread \ubc0f \uc7a5\uc18c\uc5d0\uc11c \ud2b8\ub9ac\uac70\ub418\uc5c8\uc744 \uacbd\uc6b0\ub294, \uc2a4\ud15d \uc774\ubca4\ud2b8\uac00 breakpoint \uc774\ubca4\ud2b8\ubcf4\ub2e4 \uc804\uc5d0 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ud604\uc7ac \uc704\uce58\uac00 \uba54\uc18c\ub4dc\uc758 \uc885\ub8cc \ud3ec\uc778\ud2b8 (\uc989, \ud638\ucd9c \uce21\uc5d0 \ubcf5\uadc0\ud558\uae30 \uc804\uc758 \ub9c8\uc9c0\ub9c9 \uc704\uce58)\uc778 \uacbd\uc6b0,<a href=\"#MethodExit\"><code>MethodExit<\/code><\/a> \uc774\ubca4\ud2b8 \ubc0f <a href=\"#FramePop\"><code>FramePop<\/code><\/a> \uc774\ubca4\ud2b8 (\uc694\uad6c\ub418\uace0 \uc788\ub294 \uacbd\uc6b0)\ub294, \ub3d9\uc77c thread\ub0b4\uc758 \ud604\uc7ac \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uac83 \uc678\uc758 \ubaa8\ub4e0 \uc774\ubca4\ud2b8\uc758 \ud6c4\uc5d0 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4. \uc774\uac83\ub4e4 2 \uac1c\uc758 \uc774\ubca4\ud2b8\uc5d0 \ub300\ud574\uc11c\ub294, \ub9ac\ud3ec\ud2b8\ub418\ub294 \uc21c\uc11c\ub294 \ud2b9\ud788 \uc9c0\uc815\ub418\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uac19\uc740 \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uc774\ubca4\ud2b8\ub294, \uac19\uc740 thread\ub0b4\uc758 \uac19\uc740 \uc704\uce58\uc5d0\uc11c\uc758 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud55c \ucc98\ub9ac\uc911\uc5d0 \ud2b8\ub9ac\uac70\ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc885\uc758 \uc774\ubca4\ud2b8 (\ud0c0\uc785 <i>y<\/i>)\uac00, \ud0c0\uc785 <i>x<\/i> \uc758 \uc774\ubca4\ud2b8\uc758 \ucc98\ub9ac\uc911\uc5d0 \ud2b8\ub9ac\uac70\ub418\uc5c8\ub2e4\uace0 \ud569\uc2dc\ub2e4. \uc804\uc220\uc758 \uc124\uba85\uc5d0 \uc788\ub294 \uc21c\uc11c\uc5d0 \uc758\ud558\uba74 <i>x<\/i> \ub294 <i>y<\/i> \ubcf4\ub2e4 \uc804\uc5d0 \ub9ac\ud3ec\ud2b8\ub41c\ub2e4\uace0 \ud558\ub294 \uacbd\uc6b0\ub294, \uac19\uc740 \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud55c \uc774\ubca4\ud2b8 <i>y<\/i> \uac00, \ud604\uc7ac\uc758 thread \ubc0f \uc704\uce58\uc5d0 \ub3c4\ucc29\ud574 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4. \ubc18\ub300\ub85c,<i>x<\/i> \uac00 <i>y<\/i> \ubcf4\ub2e4 \uc804\uc5d0 \ub9ac\ud3ec\ud2b8\ub418\uc9c0 \uc54a\ub294\ub2e4\uace0 \ud558\ub294 \uacbd\uc6b0\ub294, \uc774\ubca4\ud2b8 <i>y<\/i> \ub294, \ud604\uc7ac\uc758 thread \ubc0f \uc704\uce58\uc5d0 \ub3c4\ucc29\ud574 \ub9ac\ud3ec\ud2b8\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4,<a href=\"#SingleStep\"><code>SingleStep<\/code><\/a> \uc758 \ucc98\ub9ac\uc911\uc5d0 \ud604\uc7ac \uc704\uce58\uc5d0 breakpoint\uac00 \uc124\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0\ub294, thread\uac00 \ud604\uc7ac \uc704\uce58\ub97c \ub5a0\ub098\uae30 \uc804\uc5d0, \uadf8 breakpoint\uac00 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ud558\uc758 \uc774\ubca4\ud2b8\ub294, \ub2e4\ub978 \uc774\ubca4\ud2b8\uc640 \uac19\uc740 \uc704\uce58\uc5d0\uc11c \ubc1c\uc0dd\ud588\ub2e4\uace0 \ubcf4\uc774\ub294 \uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n <li><a href=\"#VMStart\"><code>VMStart<\/code><\/a><\/li>\n    <li><a href=\"#VMInit\"><code>VMInit<\/code><\/a><\/li>\n  <li><a href=\"#VMDeath\"><code>VMDeath<\/code><\/a><\/li>\n    <li><a href=\"#ThreadStart\"><code>ThreadStart<\/code><\/a><\/li>\n    <li><a href=\"#ThreadEnd\"><code>ThreadEnd<\/code><\/a><\/li>\n    <li><a href=\"#ClassLoad\"><code>ClassLoad<\/code><\/a><\/li>\n    <li><a href=\"#ClassPrepare\"><code>ClassPrepare<\/code><\/a><\/li>\n<\/ul>\n\n<h4 id=\"jvmtiEventCallbacks\">\uc774\ubca4\ud2b8 \ucf5c\ubc31<\/h4>\n\n<p>\uc774\ud558\uc758 \uc774\ubca4\ud2b8 \ucf5c\ubc31 \uad6c\uc870\uccb4\uc5d0\uc11c\ub294, \uc774\ubca4\ud2b8\uc758 \ud578\ub4e4\ub7ec \ud568\uc218\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740,<a href=\"#SetEventCallbacks\"><code>SetEventCallbacks<\/code><\/a> \ud568\uc218\ub85c \uc124\uc815\ub429\ub2c8\ub2e4.<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    jvmtiEventVMInit VMInit;\n    jvmtiEventVMDeath VMDeath;\n    jvmtiEventThreadStart ThreadStart;\n    jvmtiEventThreadEnd ThreadEnd;\n    jvmtiEventClassFileLoadHook ClassFileLoadHook;\n    jvmtiEventClassLoad ClassLoad;\n    jvmtiEventClassPrepare ClassPrepare;\n    jvmtiEventVMStart VMStart;\n    jvmtiEventException Exception;\n    jvmtiEventExceptionCatch ExceptionCatch;\n    jvmtiEventSingleStep SingleStep;\n    jvmtiEventFramePop FramePop;\n    jvmtiEventBreakpoint Breakpoint;\n    jvmtiEventFieldAccess FieldAccess;\n    jvmtiEventFieldModification FieldModification;\n    jvmtiEventMethodEntry MethodEntry;\n    jvmtiEventMethodExit MethodExit;\n    jvmtiEventNativeMethodBind NativeMethodBind;\n    jvmtiEventCompiledMethodLoad CompiledMethodLoad;\n    jvmtiEventCompiledMethodUnload CompiledMethodUnload;\n    jvmtiEventDynamicCodeGenerated DynamicCodeGenerated;\n    jvmtiEventDataDumpRequest DataDumpRequest;\n    jvmtiEventReserved reserved72;\n    jvmtiEventMonitorWait MonitorWait;\n    jvmtiEventMonitorWaited MonitorWaited;\n    jvmtiEventMonitorContendedEnter MonitorContendedEnter;\n    jvmtiEventMonitorContendedEntered MonitorContendedEntered;\n    jvmtiEventReserved reserved77;\n    jvmtiEventReserved reserved78;\n    jvmtiEventReserved reserved79;\n    jvmtiEventResourceExhausted ResourceExhausted;\n    jvmtiEventGarbageCollectionStart GarbageCollectionStart;\n    jvmtiEventGarbageCollectionFinish GarbageCollectionFinish;\n    jvmtiEventObjectFree ObjectFree;\n    jvmtiEventVMObjectAlloc VMObjectAlloc;\n} jvmtiEventCallbacks;\n<\/pre>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"1\" width=\"100%\" \/>\n<h3 id=\"EventIndex\">\uc774\ubca4\ud2b8\uc758 \uc0c9\uc778<\/h3>\n\n<ul>\n <li><a href=\"#Breakpoint\"><b>breakpoint<\/b><\/a><\/li>\n    <li><a href=\"#ClassFileLoadHook\"><b>\ud074\ub798\uc2a4 \ud30c\uc77c \ub85c\ub4dc \ud6c5<\/b><\/a><\/li>\n    <li><a href=\"#ClassLoad\"><b>\ud074\ub798\uc2a4\uc758 \ub85c\ub4dc<\/b><\/a><\/li>\n  <li><a href=\"#ClassPrepare\"><b>\ud074\ub798\uc2a4\uc758 \uc900\ube44<\/b><\/a><\/li>\n   <li><a href=\"#CompiledMethodLoad\"><b>\ucef4\ud30c\uc77c\uc774 \ub05d\ub09c \uba54\uc18c\ub4dc\uc758 \ub85c\ub4dc<\/b><\/a><\/li>\n   <li><a href=\"#CompiledMethodUnload\"><b>\ucef4\ud30c\uc77c\uc774 \ub05d\ub09c \uba54\uc18c\ub4dc\uc758 \uc5b8\ub85c\ub4dc<\/b><\/a><\/li>\n   <li><a href=\"#DataDumpRequest\"><b>\ub370\uc774\ud130 \ub364\ud504 \uc694\uad6c<\/b><\/a><\/li>\n <li><a href=\"#DynamicCodeGenerated\"><b>\ub3d9\uc801 \ucf54\ub4dc \uc0dd\uc131<\/b><\/a><\/li>\n  <li><a href=\"#Exception\"><b>\uc608\uc678<\/b><\/a><\/li>\n   <li><a href=\"#ExceptionCatch\"><b>\uc608\uc678 \uce90\uce58<\/b><\/a><\/li>\n <li><a href=\"#FieldAccess\"><b>\ud544\ub4dc \uc561\uc138\uc2a4<\/b><\/a><\/li>\n  <li><a href=\"#FieldModification\"><b>\ud544\ub4dc\uc758 \ubcc0\uacbd<\/b><\/a><\/li>\n    <li><a href=\"#FramePop\"><b>\ud504\ub808\uc784\uc758 \ud31d<\/b><\/a><\/li>\n <li><a href=\"#GarbageCollectionFinish\"><b>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc644\ub8cc<\/b><\/a><\/li>\n <li><a href=\"#GarbageCollectionStart\"><b>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac1c\uc2dc<\/b><\/a><\/li>\n  <li><a href=\"#MethodEntry\"><b>\uba54\uc18c\ub4dc \uc5d4\ud2b8\ub9ac<\/b><\/a><\/li>\n    <li><a href=\"#MethodExit\"><b>\uba54\uc18c\ub4dc \uc885\ub8cc<\/b><\/a><\/li>\n   <li><a href=\"#MonitorContendedEnter\"><b>\uacbd\ud569 \ud558\ub294 \ubaa8\ub2c8\ud130 \uac1c\uc2dc<\/b><\/a><\/li>\n  <li><a href=\"#MonitorContendedEntered\"><b>\uacbd\ud569 \ud558\ub294 \ubaa8\ub2c8\ud130 \uac1c\uc2dc\uac00 \ub05d\ub09c \uc0c1\ud0dc<\/b><\/a><\/li>\n    <li><a href=\"#MonitorWait\"><b>\ubaa8\ub2c8\ud130 \ub300\uae30<\/b><\/a><\/li>\n  <li><a href=\"#MonitorWaited\"><b>\ubaa8\ub2c8\ud130 \ub300\uae30 \uc885\ub8cc<\/b><\/a><\/li>\n   <li><a href=\"#NativeMethodBind\"><b>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \ubc14\uc778\ub4dc<\/b><\/a><\/li>\n    <li><a href=\"#ObjectFree\"><b>\uac1d\uccb4\uc758 \ud574\uc81c<\/b><\/a><\/li>\n   <li><a href=\"#ResourceExhausted\"><b>\uc790\uc6d0 \ubd80\uc871<\/b><\/a><\/li>\n  <li><a href=\"#SingleStep\"><b>\uc2a4\ud15d \uc2e4\ud589<\/b><\/a><\/li>\n <li><a href=\"#ThreadEnd\"><b>thread\uc758 \uc885\ub8cc<\/b><\/a><\/li>\n  <li><a href=\"#ThreadStart\"><b>thread\uc758 \uac1c\uc2dc<\/b><\/a><\/li>\n    <li><a href=\"#VMDeath\"><b>VM \uc885\ub8cc \uc774\ubca4\ud2b8<\/b><\/a><\/li>\n   <li><a href=\"#VMInit\"><b>VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8<\/b><\/a><\/li>\n  <li><a href=\"#VMObjectAlloc\"><b>VM \uac1d\uccb4 \ud560\ub2f9<\/b><\/a><\/li>\n   <li><a href=\"#VMStart\"><b>VM \uac1c\uc2dc \uc774\ubca4\ud2b8<\/b><\/a><\/li>\n<\/ul>\n\n<p id=\"SingleStep\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc2a4\ud15d \uc2e4\ud589<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nSingleStep(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jlocation location)<\/pre>\n<\/blockquote>\n\n<p>\uc2a4\ud15d \uc2e4\ud589 \uc774\ubca4\ud2b8\ub97c \uc774\uc6a9\ud558\uba74(\uc790), \uc5d0\uc774\uc804\ud2b8\ub294, VM \ub85c \uac00\ub2a5\ud55c \ucd5c\uc18c\uc758 \ub2e8\uc704\ub85c thread\uc758 \uc2e4\ud589\uc744 \ucd94\uc801\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2a4\ud15d \uc2e4\ud589 \uc774\ubca4\ud2b8\ub294, thread\uac00 \uc0c8\ub85c\uc6b4 \uc704\uce58\uc5d0 \uc774\ub97c \ub54c\ub9c8\ub2e4 \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc2a4\ud15d \uc2e4\ud589 \uc774\ubca4\ud2b8\ub294,<a href=\"http:\/\/java.sun.com\/docs\/books\/vmspec\/\">\u300cJava \uac00\uc0c1 \uba38\uc2e0 \uc2a4\ud399\u300d<\/a>\uc5d0 \uc815\uc758\ub418\uace0 \uc788\ub3c4\ub85d(\ub4ef\uc774),1 \uac1c\uc758 VM \uba85\ub839\uc774 \uc644\ub8cc\ud55c \uac83\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. <i><\/i>\ub2e4\ub9cc, \uc704\uce58\uc758 \uc815\uc758\uac00 \ub2e4\ub978 \uad6c\ud604\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc5b4\uca0c\ub4e0,<code>method<\/code> \ubc0f <code>location<\/code> \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud604\uc7ac\uc758 \uc704\uce58\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \uc815\ubcf4\uac00 \uc788\uc73c\uba74 \uc6d0\uc2dc \ud30c\uc77c\uacfc \ud589 \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub0b4\ub85c\ubd80\ud130\ub294, \uc2a4\ud15d \uc2e4\ud589 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_SINGLE_STEP<\/code><\/td>\n         <td>60<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_single_step_events\"><code>can_generate_single_step_events<\/code><\/a><\/td>\n          <td><a href=\"#SingleStep\">\uc2a4\ud15d \uc2e4\ud589 <\/a>\uc774\ubca4\ud2b8\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"SingleStep.jni_env\">jni_env<\/code><\/td>\n           <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SingleStep.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc0c8\ub85c\uc6b4 \uba85\ub839\uc744 \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SingleStep.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc0c8\ub85c\uc6b4 \uba85\ub839\uc744 \uc2e4\ud589\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 \uba54\uc18c\ub4dc<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"SingleStep.location\">location<\/code><\/td>\n         <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc0c8\ub85c\uc6b4 \uba85\ub839\uc758 \uc704\uce58<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"Breakpoint\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>breakpoint<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nBreakpoint(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jlocation location)<\/pre>\n<\/blockquote>\n\n<p>breakpoint \uc774\ubca4\ud2b8\ub294,<a href=\"#SetBreakpoint\"><code>SetBreakpoint<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 breakpoint\ub85c\uc11c \uc9c0\uc815\ub41c \uc704\uce58\uc5d0 thread\uac00 \ub2ec\ud55c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. <code>method<\/code> \ubc0f <code>location<\/code> \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud604\uc7ac\uc758 \uc704\uce58\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \uc815\ubcf4\uac00 \uc788\uc73c\uba74 \uc6d0\uc2dc \ud30c\uc77c\uacfc \ud589 \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_BREAKPOINT<\/code><\/td>\n          <td>62<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_breakpoint_events\"><code>can_generate_breakpoint_events<\/code><\/a><\/td>\n            <td><a href=\"#Breakpoint\"><code>Breakpoint<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#SetBreakpoint\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Breakpoint.jni_env\">jni_env<\/code><\/td>\n           <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"Breakpoint.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>breakpoint\uc5d0 \uc774\ub978 thread<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Breakpoint.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>breakpoint\uc5d0 \uc774\ub978 \uba54\uc18c\ub4dc<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Breakpoint.location\">location<\/code><\/td>\n         <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>breakpoint\uc758 \uc704\uce58<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"FieldAccess\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud544\ub4dc \uc561\uc138\uc2a4<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nFieldAccess(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jlocation location,\n            jclass field_klass,\n            jobject object,\n            jfieldID field)<\/pre>\n<\/blockquote>\n\n<p>\ud544\ub4dc \uc561\uc138\uc2a4 \uc774\ubca4\ud2b8\ub294,<a href=\"#SetFieldAccessWatch\"><code>SetFieldAccessWatch<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub85c\uc11c \uc9c0\uc815\ub41c \ud544\ub4dc\uc5d0 thread\uac00 \uc561\uc138\uc2a4 \ud55c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. <code>method<\/code> \ubc0f <code>location<\/code> \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud604\uc7ac\uc758 \uc704\uce58\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \uc815\ubcf4\uac00 \uc788\uc73c\uba74 \uc6d0\uc2dc \ud30c\uc77c\uacfc \ud589 \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_FIELD_ACCESS<\/code><\/td>\n            <td>63<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_FIELD_ACCESS, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_access_events\"><code>can_generate_field_access_events<\/code><\/a><\/td>\n            <td>\ud544\ub4dc \uc561\uc138\uc2a4\uc5d0 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldAccessWatch\"><code>SetFieldAccessWatch<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud544\ub4dc\uc5d0 \uc561\uc138\uc2a4 \ud558\ub294 thread<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.method\">method<\/code><\/td>\n            <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc561\uc138\uc2a4\uac00 \ubc1c\uc0dd\ud558\uace0 \uc788\ub294 \uba54\uc18c\ub4dc<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.location\">location<\/code><\/td>\n            <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc561\uc138\uc2a4\uac00 \ubc1c\uc0dd\ud558\uace0 \uc788\ub294 \uc704\uce58<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.field_klass\">field_klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc561\uc138\uc2a4 \ub418\ub294 \ud544\ub4dc\uc758 \ud074\ub798\uc2a4<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.object\">object<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud544\ub4dc\uac00 \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uc758 \uacbd\uc6b0\ub294 \uc561\uc138\uc2a4 \ub418\uace0 \uc788\ub294 \ud544\ub4dc\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4, \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 <code>NULL<\/code><\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldAccess.field\">field<\/code><\/td>\n          <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\uc561\uc138\uc2a4 \ub418\uace0 \uc788\ub294 \ud544\ub4dc<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"FieldModification\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud544\ub4dc\uc758 \ubcc0\uacbd<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nFieldModification(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jlocation location,\n            jclass field_klass,\n            jobject object,\n            jfieldID field,\n            char signature_type,\n            jvalue new_value)<\/pre>\n<\/blockquote>\n\n<p>\ud544\ub4dc\uc758 \ubcc0\uacbd \uc774\ubca4\ud2b8\ub294,<a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub85c\uc11c \uc9c0\uc815\ub41c \ud544\ub4dc\ub97c thread\uac00 \ubcc0\uacbd\ud55c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. <code>method<\/code> \ubc0f <code>location<\/code> \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud604\uc7ac\uc758 \uc704\uce58\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \uc815\ubcf4\uac00 \uc788\uc73c\uba74 \uc6d0\uc2dc \ud30c\uc77c\uacfc \ud589 \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_FIELD_MODIFICATION<\/code><\/td>\n          <td>64<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_FIELD_MODIFICATION, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_field_modification_events\"><code>can_generate_field_modification_events<\/code><\/a><\/td>\n            <td>\ud544\ub4dc\uc758 \ubcc0\uacbd\uc5d0 \uc2dc\uacc4 \ud3ec\uc778\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc788\ub294 - <a href=\"#SetFieldModificationWatch\"><code>SetFieldModificationWatch<\/code><\/a><\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud544\ub4dc\ub97c \ubcc0\uacbd\ud558\ub294 thread<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\ubcc0\uacbd\uc774 \ubc1c\uc0dd\ud558\uace0 \uc788\ub294 \uba54\uc18c\ub4dc<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.location\">location<\/code><\/td>\n          <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\ubcc0\uacbd\uc774 \ubc1c\uc0dd\ud558\uace0 \uc788\ub294 \uc704\uce58<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.field_klass\">field_klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\ubcc0\uacbd\ub418\uace0 \uc788\ub294 \ud544\ub4dc\uc758 \ud074\ub798\uc2a4<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud544\ub4dc\uac00 \uc778\uc2a4\ud134\uc2a4 \ud544\ub4dc\uc758 \uacbd\uc6b0\ub294 \ubcc0\uacbd\ub418\uace0 \uc788\ub294 \ud544\ub4dc\ub97c \uac00\uc9c0\ub294 \uac1d\uccb4, \uadf8 \uc774\uc678\uc758 \uacbd\uc6b0\ub294 <code>NULL<\/code><\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.field\">field<\/code><\/td>\n            <td><code><a href=\"#jfieldID\">jfieldID<\/a> <\/code><\/td>\n         <td>\ubcc0\uacbd\ub418\uace0 \uc788\ub294 \ud544\ub4dc<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.signature_type\">signature_type<\/code><\/td>\n          <td><code>char<\/code><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \uac12\uc758 \uc2dc\uadf8\ub2c8\ucc60\uc758 \ud615\ud0dc<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"FieldModification.new_value\">new_value<\/code><\/td>\n            <td><code><a href=\"#jvalue\">jvalue<\/a> <\/code><\/td>\n         <td>\uc0c8\ub85c\uc6b4 \uac12<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"FramePop\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud504\ub808\uc784\uc758 \ud31d<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nFramePop(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jboolean was_popped_by_exception)<\/pre>\n<\/blockquote>\n\n<p>\ud504\ub808\uc784 \ud31d \uc774\ubca4\ud2b8\ub294,<a href=\"#NotifyFramePop\"><code>NotifyFramePop<\/code><\/a> \uc758 \ud638\ucd9c\ub85c \uc9c0\uc815\ub41c \ub2e8\uc77c\uc758 \ud504\ub808\uc784\ub0b4\uc758 \ub2e8\uc77c\uc758 \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \ub098\uc624\ub294 \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4 \uc774\uac83\uc740, \uadc0\uac00 \uba85\ub839\uc758 \uc2e4\ud589\uc5d0 \uc758\ud574 \uc885\ub8cc\ub418\uc5c8\ub294\uc9c0, \ud638\ucd9c\uce21\uc5d0\uac8c\ub85c\uc758 \uc608\uc678\uc758 throw\uc5d0 \uc758\ud574 \uc885\ub8cc\ub418\uc5c8\uc744 \uacbd\uc6b0, true \uac00 \ub429\ub2c8\ub2e4 (<a href=\"#FramePop.was_popped_by_exception\"><code>was_popped_by_exception<\/code><\/a> \ub97c \ucc38\uc870). \ub2e4\ub9cc,<a href=\"#PopFrame\"><code>PopFrame<\/code><\/a> \ud568\uc218\uc5d0 \uc758\ud55c \ud504\ub808\uc784\uc758 \ud31d\uc740 \ub9ac\ud3ec\ud2b8\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetFrameLocation\"><code>GetFrameLocation<\/code><\/a> \uc5d0 \uc758\ud574 \ub9ac\ud3ec\ud2b8\ub418\ub294 \uc704\uce58\ub294, \ubcf5\uadc0\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 \uba54\uc18c\ub4dc\ub0b4\uc758 \ubcf5\uadc0 \uc9c1\uc804\uc758 \uc2e4\ud589 \uac00\ub2a5 \uc704\uce58\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_FRAME_POP<\/code><\/td>\n           <td>61<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_FRAME_POP, NULL)<\/code><\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_frame_pop_events\"><code>can_generate_frame_pop_events<\/code><\/a><\/td>\n          <td><a href=\"#FramePop\"><code>FramePop<\/code><\/a> \uc774\ubca4\ud2b8\ub97c<a href=\"#NotifyFramePop\">\uc124\uc815<\/a>\ud574, \ucde8\ub4dd\ud560 \uc218\uac00 \uc788\ub2e4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"FramePop.jni_env\">jni_env<\/code><\/td>\n         <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"FramePop.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud504\ub808\uc784\uc744 \ud31d \ud558\ub294 thread<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"FramePop.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\ud31d \ub418\ub294 \uba54\uc18c\ub4dc<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"FramePop.was_popped_by_exception\">was_popped_by_exception<\/code><\/td>\n         <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>\ud504\ub808\uc784\uc774 \uc608\uc678\uc758 throw\uc5d0 \uc758\ud574 \ud31d \ub418\uc5c8\uc744 \uacbd\uc6b0\ub294 true. \uba54\uc18c\ub4dc\uac00 \ub3cc\uc544\uc640 \uba85\ub839\uc5d0 \uc758\ud574 \uc885\ub8cc\ud588\uc744 \uacbd\uc6b0\ub294 false.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"MethodEntry\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uba54\uc18c\ub4dc \uc5d4\ud2b8\ub9ac<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nMethodEntry(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method)<\/pre>\n<\/blockquote>\n\n<p>\uba54\uc18c\ub4dc \uc5d4\ud2b8\ub9ac \uc774\ubca4\ud2b8\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc (\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \ud3ec\ud568\ud55c\ub2e4)\uc5d0 \ub4e4\uc5b4\uac00\ub294 \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetFrameLocation\"><code>GetFrameLocation<\/code><\/a> \uc5d0 \uc758\ud574 \ub9ac\ud3ec\ud2b8\ub418\ub294 \uc704\uce58\ub294, \uba54\uc18c\ub4dc\ub0b4\uc758 \ucd08\uae30 \uc2e4\ud589 \uac00\ub2a5 \uc704\uce58\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub9ce\uc740 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub294, \uba54\uc18c\ub4dc \uc5d4\ud2b8\ub9ac \uc774\ubca4\ud2b8 \ub610\ub294 \uba54\uc18c\ub4dc \uc885\ub8cc \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud558\uba74(\uc790), \ud37c\ud3ec\uba3c\uc2a4\uac00 \ud070\ud3ed\uc73c\ub85c \uc800\ud558\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ud504\ub85c \ud30c\uc77c\ub9c1 \ub4f1, \ud37c\ud3ec\uba3c\uc2a4\ub97c \uc911\uc2dc\ud558\ub294 \ucc98\ub9ac\uc5d0\uc11c\uc758 \uc0ac\uc6a9\uc740 \ucd94\ucc9c\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uacbd\uc6b0\uc5d0\ub294,<a href=\"#bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/a>\uc744 \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_METHOD_ENTRY<\/code><\/td>\n            <td>65<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_method_entry_events\"><code>can_generate_method_entry_events<\/code><\/a><\/td>\n            <td>\uba54\uc18c\ub4dc\uc758 \uc785\ub825\uc2dc\uc5d0 \uba54\uc18c\ub4dc \uc785\ub825 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MethodEntry.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"MethodEntry.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uba54\uc18c\ub4dc\ub97c \uc785\ub825\ud558\ub294 thread<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MethodEntry.method\">method<\/code><\/td>\n            <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc785\ub825\ub418\ub294 \uba54\uc18c\ub4dc<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"MethodExit\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uba54\uc18c\ub4dc \uc885\ub8cc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nMethodExit(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jboolean was_popped_by_exception,\n            jvalue return_value)<\/pre>\n<\/blockquote>\n\n<p>\uba54\uc18c\ub4dc \uc885\ub8cc \uc774\ubca4\ud2b8\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc \ubc0f \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub85c\ubd80\ud130 \uc885\ub8cc\ud558\ub294 \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc774\uac83\uc740, \uadc0\uac00 \uba85\ub839\uc758 \uc2e4\ud589\uc5d0 \uc758\ud574 \uc885\ub8cc\ub418\uc5c8\ub294\uc9c0, \ud638\ucd9c\uce21\uc5d0\uac8c\ub85c\uc758 \uc608\uc678\uc758 throw\uc5d0 \uc758\ud574 \uc885\ub8cc\ub418\uc5c8\uc744 \uacbd\uc6b0, true \uac00 \ub429\ub2c8\ub2e4 (<a href=\"#MethodExit.was_popped_by_exception\"><code>was_popped_by_exception<\/code><\/a> \ub97c \ucc38\uc870).<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>method<\/code> \ud544\ub4dc\ub294, \ub4e4\uc5b4\uac00\ub294 \uba54\uc18c\ub4dc \ub610\ub294 \ub098\uc624\ub294 \uba54\uc18c\ub4dc\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud569\ub2c8\ub2e4. <code>frame<\/code> \ud544\ub4dc\ub294, \uba54\uc18c\ub4dc\uc758 \uc2a4\ud0dd \ud504\ub808\uc784\uc5d0\uc758 \uc561\uc138\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><a href=\"#GetFrameLocation\"><code>GetFrameLocation<\/code><\/a> \uc5d0 \uc758\ud574 \ub9ac\ud3ec\ud2b8\ub418\ub294 \uc704\uce58\ub294, \ubcf5\uadc0\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 \uba54\uc18c\ub4dc\ub0b4\uc758 \ubcf5\uadc0 \uc9c1\uc804\uc758 \uc2e4\ud589 \uac00\ub2a5 \uc704\uce58\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub9ce\uc740 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub294, \uba54\uc18c\ub4dc \uc5d4\ud2b8\ub9ac \uc774\ubca4\ud2b8 \ub610\ub294 \uba54\uc18c\ub4dc \uc885\ub8cc \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud558\uba74(\uc790), \ud37c\ud3ec\uba3c\uc2a4\uac00 \ud070\ud3ed\uc73c\ub85c \uc800\ud558\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ud504\ub85c \ud30c\uc77c\ub9c1 \ub4f1, \ud37c\ud3ec\uba3c\uc2a4\ub97c \uc911\uc2dc\ud558\ub294 \ucc98\ub9ac\uc5d0\uc11c\uc758 \uc0ac\uc6a9\uc740 \ucd94\ucc9c\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uacbd\uc6b0\uc5d0\ub294,<a href=\"#bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/a>\uc744 \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_METHOD_EXIT<\/code><\/td>\n         <td>66<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_METHOD_EXIT, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_method_exit_events\"><code>can_generate_method_exit_events<\/code><\/a><\/td>\n          <td>\uba54\uc18c\ub4dc\uc758 \uc885\ub8cc\uc2dc\uc5d0 \uba54\uc18c\ub4dc \uc885\ub8cc \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MethodExit.jni_env\">jni_env<\/code><\/td>\n           <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"MethodExit.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uba54\uc18c\ub4dc\ub97c \uc885\ub8cc\ud558\ub294 thread<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MethodExit.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc885\ub8cc\ub418\ub294 \uba54\uc18c\ub4dc<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"MethodExit.was_popped_by_exception\">was_popped_by_exception<\/code><\/td>\n           <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>\ud504\ub808\uc784\uc774 \uc608\uc678\uc758 throw\uc5d0 \uc758\ud574 \ud31d \ub418\uc5c8\uc744 \uacbd\uc6b0\ub294 true. \uba54\uc18c\ub4dc\uac00 \ub3cc\uc544\uc640 \uba85\ub839\uc5d0 \uc758\ud574 \uc885\ub8cc\ud588\uc744 \uacbd\uc6b0\ub294 false.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"MethodExit.return_value\">return_value<\/code><\/td>\n         <td><code><a href=\"#jvalue\">jvalue<\/a> <\/code><\/td>\n         <td>\uc885\ub8cc\ub418\ub294 \uba54\uc18c\ub4dc\uc758 \ubc18\ud658\uac12. <a href=\"#MethodExit.was_popped_by_exception\"><code>was_popped_by_exception<\/code><\/a> \uac00 true \uc758 \uacbd\uc6b0, \ubbf8\uc815\ub3c4\ub9ac\ub85c, \uc0ac\uc6a9 \ud574\uc11c\ub294 \uc548\ub41c\ub2e4.<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"NativeMethodBind\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \ubc14\uc778\ub4dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nNativeMethodBind(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            void* address,\n            void** new_address_ptr)<\/pre>\n<\/blockquote>\n\n<p>\ub124\uc774\ud2f0\ube0c\uba54\uc18c\ub4dc\ubc14\uc778\ub4dc\uc774\ubca4\ud2b8\ub294, VM \uac00 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4\uc758 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c, \uc774 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub97c \uad6c\ud604\ud558\ub294 \ud568\uc218\uc758 \uc8fc\uc18c\uc5d0 \ubc14\uc778\ub4dc \ud55c \uc2dc\uc810\uc5d0\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774 \ucc98\ub9ac\ub294, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \ucc98\uc74c \ubd88\ub824 \uac14\uc744 \ub54c\uc640 JNI \ud568\uc218 <code>RegisterNatives<\/code> \uac00 \ubd88\ub824 \uac14\uc744 \ub54c\uc5d0 \ubc1c\uc0dd\ud569\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\uc5d0 \uc758\ud574, \ubc14\uc778\ub4dc\ub97c \uc5d0\uc774\uc804\ud2b8 \uace0\uc720\uc758 \ud504\ub85d\uc2dc \ud568\uc218\uc5d0 \ub9ac\ub2e4\uc774\ub809\ud2b8(redirect) \ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \ubc14\uc778\ub4dc \ud574\uc81c\ub418\uace0 \uc788\uc744 \ub54c\ub294 \uc1a1\uc2e0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uc774 \ud504\ub85d\uc2dc \ud568\uc218\ub294, \ud2b9\uc815\uc758 \uba54\uc18c\ub4dc\uc5d0 \uace0\uc720\ud558\uc9c0 \uc54a\uc73c\uba74 \uc548\ub429\ub2c8\ub2e4. \ub610\ub294 \uc77c\ubc18\uc801\uc778 \ucf00\uc774\uc2a4\ub97c \ucde8\uae09\ud558\ub294 \uacbd\uc6b0\ub294, \uc790\ub3d9\uc801\uc73c\ub85c \uc0dd\uc131\ub41c \uc5b4\uc148\ube14\ub9ac \ucf54\ub4dc\uac00 \uc544\ub2c8\uba74 \uc548\ub429\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uba85\ub839 \ucf54\ub4dc\uc758 \uc2e4\ud589 \ud6c4\ub294, \uc6d0\uc758 \ubc14\uc778\ub529 \uc8fc\uc18c\uc758 \ud568\uc218\uac00 \ubd88\ub824 \uac11\ub2c8\ub2e4. \uc6d0\uc758 \ubc14\uc778\ub529\uc740 \ubcf5\uc6d0 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ub610, \ub9ac\ub2e4\uc774\ub809\ud2b8(redirect)\ub294, JNI \ud568\uc218 <code>RegisterNatives<\/code> \uc758 \uc0ac\uc6a9\uc5d0 \uc758\ud574 \ubcc0\uacbd\ub429\ub2c8\ub2e4. \ucd08\uae30 \ub2e8\uacc4\uc548\uc5d0 \uc77c\ubd80\uc758 \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. JNI \ubc0f \ub300\ubd80\ubd84\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub294 \uc774 \uc2dc\uc810\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4\ub9cc, \uba54\uc18c\ub4dc \ubc0f \uc8fc\uc18c\ub294 \ubcf4\uc874\ud574 \ub098\uc911\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ucd08\uae30 \ub2e8\uacc4, \uac1c\uc2dc \ub2e8\uacc4, \ubc0f \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n            <td><code>JVMTI_EVENT_NATIVE_METHOD_BIND<\/code><\/td>\n          <td>67<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_NATIVE_METHOD_BIND, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_native_method_bind_events\"><code>can_generate_native_method_bind_events<\/code><\/a><\/td>\n            <td>\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \uad6c\ud604\uc5d0 \ubc14\uc778\ub4dc \ub418\uace0 \uc788\uc744 \ub54c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"NativeMethodBind.jni_env\">jni_env<\/code><\/td>\n         <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd\uc740, \ucd08\uae30<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc548\uc5d0 \uc1a1\uc2e0\ub418\uba74(\uc790) <code>NULL<\/code> \uac00 \ub41c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"NativeMethodBind.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubc14\uc778\ub4dc\ub97c \uc694\uad6c\ud558\ub294 thread<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"NativeMethodBind.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\ubc14\uc778\ub4dc \ub418\ub294 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"NativeMethodBind.address\">address<\/code><\/td>\n         <td><code>void *<\/code><\/td>\n          <td>VM \uc758 \ubc14\uc778\ub4dc\ucc98\uc758 \uc8fc\uc18c (\ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \uad6c\ud604 \uc8fc\uc18c)<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"NativeMethodBind.new_address_ptr\">new_address_ptr<\/code><\/td>\n         <td><code>void**<\/code><\/td>\n          <td>\ucc38\uc870 \uc8fc\uc18c\uac00 \ubcc0\uacbd\ub418\uc5c8\uc744 \uacbd\uc6b0 (\uc989,<code>*new_address_ptr<\/code> \uac00 \uc124\uc815\ub418\uc5c8\uc744 \uacbd\uc6b0), \ub300\uc2e0\uc5d0, \uc81c\uacf5\ub41c \uc8fc\uc18c\uc5d0\uc758 \ubc14\uc778\ub4dc\ub97c \ud55c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"Exception\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc608\uc678<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nException(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jlocation location,\n            jobject exception,\n            jmethodID catch_method,\n            jlocation catch_location)<\/pre>\n<\/blockquote>\n\n<p>\uc608\uc678 \uc774\ubca4\ud2b8\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \uc608\uc678\uac00 \ucd5c\ucd08\ub85c \uac80\ucd9c\ub41c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc11c, \u300c\uc608\uc678\u300d\ub294 \uc784\uc758\uc758 <code>java.lang.Throwable<\/code> \ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\uc678\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 throw \ub418\ub294 \uacbd\uc6b0\uc640 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 throw \ub418\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 throw \ub418\ub294 \uacbd\uc6b0\ub294, \uadf8 \uc608\uc678\uac00 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 \ucd5c\ucd08\ub85c \uc778\uc2dd\ub420 \ub54c\uae4c\uc9c0, \uc774 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\uc678\uac00 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \uc0dd\uc131\ub418\uc5b4 \ud574\uc81c\ub418\uc5c8\uc744 \uacbd\uc6b0 (\uc989, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\ub85c\ubd80\ud130\ub294 \uc778\uc2dd\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0)\ub294, \uc608\uc678 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>method<\/code> \ubc0f <code>location<\/code> \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud604\uc7ac\uc758 \uc704\uce58 (\uc608\uc678\uac00 \uac80\ucd9c\ub41c \uc704\uce58)\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \uc815\ubcf4\uac00 \uc788\uc73c\uba74 \uc6d0\uc2dc \ud30c\uc77c\uacfc \ud589 \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. <code>exception<\/code> \ud544\ub4dc\ub294, throw \ub41c \uc608\uc678 \uac1d\uccb4\ub97c \uc778\uc2dd\ud569\ub2c8\ub2e4. <code>catch_method<\/code> \ubc0f <code>catch_location<\/code> \ub294, throw \ub41c \uc608\uc678\ub97c \ucc98\ub9ac\ud558\ub294 catch \uc808\uc758 \uc704\uce58\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4 (\uadf8\ub7ec\ud55c \ub9c8\ub514\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0). \uadf8\ub7ec\ud55c catch \uc808\uc774 \uc5c6\ub294 \uacbd\uc6b0, \uadf8\ub7ec\ud55c \uac01 \ud544\ub4dc\ub294 0 \uc73c\ub85c \uc124\uc815\ub429\ub2c8\ub2e4. thread\uac00 \uc774 catch \uc808\uc5d0 \ub3c4\ub2ec\ud55c\ub2e4\uace0 \ud558\ub294 \ubcf4\uc99d\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ud638\ucd9c \uc2a4\ud0dd\uc0c1\uc5d0\uc11c \uc608\uc678 throw\uc758 \uc704\uce58\uc640 catch \uc808\uc758 \uc0ac\uc774\uc5d0 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uac00 \uc788\ub294 \uacbd\uc6b0, \uadf8\ub7ec\ud55c \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\uc758 \uc5b4\ub290 \ucabd\uc778\uac00\uc5d0 \ub530\ub77c \uc608\uc678\uac00 \ub9ac\uc14b \ub420 \uac00\ub2a5\uc131\uc774 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uac19\uc774 \uce90\uce58 \ub418\uc9c0 \uc54a\uc73c\uba74 \ub9ac\ud3ec\ud2b8\ub41c \uc608\uc678 (<code>catch_klass<\/code> \ub4f1. 0 \uc73c\ub85c \uc124\uc815)\uc740, \uc2e4\uc81c\ub85c\ub294 native code\uc5d0 \uc758\ud574 \uce90\uce58 \ub429\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294, \uc774\ub7ec\ud55c \ubc1c\uc0dd\uc744,<a href=\"#ExceptionCatch\"><code>ExceptionCatch<\/code><\/a> \uc774\ubca4\ud2b8\ub97c \uac10\uc2dc\ud558\ub294 \uac83\uc5d0 \uc758\ud574 \uccb4\ud06c\ud569\ub2c8\ub2e4. finally \uc808\uc740, \uce90\uce58\/\uc7acthrow\ub85c\uc11c \uad6c\ud604\ub418\ub294 \uc810\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694. \uc774 \ub54c\ubb38\uc5d0, \uc774\uac83\ub4e4\uc740 \uce90\uce58\uc758 \uc704\uce58\uc5d0\uc11c \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_EXCEPTION<\/code><\/td>\n           <td>58<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_EXCEPTION, NULL)<\/code><\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_exception_events\"><code>can_generate_exception_events<\/code><\/a><\/td>\n          <td><a href=\"#Exception\">throw \ub41c \uc608\uc678<\/a>\uc640<a href=\"#ExceptionCatch\">\uc608\uc678 \uce90\uce58 <\/a>\uc774\ubca4\ud2b8\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Exception.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"Exception.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc608\uc678\ub97c \uc0dd\uc131\ud558\ub294 thread<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"Exception.method\">method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc608\uc678\ub97c \uc0dd\uc131\ud558\ub294 \uba54\uc18c\ub4dc<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"Exception.location\">location<\/code><\/td>\n          <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc608\uc678\uac00 \ubc1c\uc0dd\ud55c \uc704\uce58<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"Exception.exception\">exception<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>throw \ub418\ub294 \uc608\uc678<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"Exception.catch_method\">catch_method<\/code><\/td>\n          <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc608\uc678\ub97c \uce90\uce58 \ud558\ub294 \uba54\uc18c\ub4dc. \uae30\uc874\uc758 \uce90\uce58\uac00 \uc5c6\ub294 \uacbd\uc6b0\ub294 <code>NULL<\/code><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"Exception.catch_location\">catch_location<\/code><\/td>\n          <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc608\uc678\ub97c \uce90\uce58 \ud558\ub294 \uba54\uc18c\ub4dc. \uae30\uc874\uc758 \uce90\uce58\uac00 \uc5c6\ub294 \uacbd\uc6b0\ub294 \uc81c\ub85c<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ExceptionCatch\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc608\uc678 \uce90\uce58<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nExceptionCatch(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jmethodID method,\n            jlocation location,\n            jobject exception)<\/pre>\n<\/blockquote>\n\n<p>\uc608\uc678 \uce90\uce58 \uc774\ubca4\ud2b8\ub294, throw \ub41c \uc608\uc678\uac00 \uce90\uce58 \ub41c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc11c, \u300c\uc608\uc678\u300d\ub294 \uc784\uc758\uc758 <code>java.lang.Throwable<\/code> \ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\uc678\uac00 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \uce90\uce58 \ub418\uc5c8\uc744 \uacbd\uc6b0\ub294, catch \uc808\uc5d0 \ub3c4\ub2ec\ud55c \uc2dc\uc810\uc5d0\uc11c \uc774 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc608\uc678\uac00 \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \uce90\uce58 \ub418\uc5c8\uc744 \uacbd\uc6b0\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\uc5d0 \uc81c\uc5b4\uac00 \ub3cc\uc544\uc628 \uc9c1\ud6c4\uc5d0 \uc774 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc608\uc678 \uce90\uce58 \uc774\ubca4\ud2b8\ub294, Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c throw\uac00 \uac80\ucd9c\ub41c \uc608\uc678\uc5d0 \ub300\ud574\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. finally \uc808\uc740, \uce90\uce58\/\uc7acthrow\ub85c\uc11c \uad6c\ud604\ub418\ub294 \uc810\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694. \uc774 \ub54c\ubb38\uc5d0, \uc774\uac83\ub4e4\uc740 \uc608\uc678 \uce90\uce58 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p><code>method<\/code> \ubc0f <code>location<\/code> \ud30c\ub77c\ubbf8\ud130\uc5d0 \uc758\ud574 \ud604\uc7ac\uc758 \uc704\uce58\ub97c \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ud560 \uc218 \uc788\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uc774 \uc815\ubcf4\uac00 \uc788\uc73c\uba74 \uc6d0\uc2dc \ud30c\uc77c\uacfc \ud589 \ubc88\ud638\uc5d0\uc758 \ub9e4\ud551\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \uce90\uce58 \ub41c \uc608\uc678\uc758 \uacbd\uc6b0\ub294,<code>exception<\/code> \uac1d\uccb4\uac00 \uc608\uc678 \uac1d\uccb4\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4. \ub124\uc774\ud2f0\ube0c \uba54\uc18c\ub4dc\ub0b4\uc5d0\uc11c \uce90\uce58 \ub41c \uc608\uc678\ub294, \uc608\uc678\uc758 \uce90\uce58\uac00 \ub9ac\ud3ec\ud2b8\ub41c \uc2dc\uc810\uc5d0\uc11c \uc785\uc218 \uac00\ub2a5\ud558\ub2e4\uace0\ub294 \ud560 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc5d0,<code>exception<\/code> \ud544\ub4dc\ub294 <code>NULL<\/code> \ub85c \uc124\uc815\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_EXCEPTION_CATCH<\/code><\/td>\n         <td>59<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_EXCEPTION_CATCH, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_exception_events\"><code>can_generate_exception_events<\/code><\/a><\/td>\n          <td><a href=\"#Exception\">throw \ub41c \uc608\uc678<\/a>\uc640<a href=\"#ExceptionCatch\">\uc608\uc678 \uce90\uce58 <\/a>\uc774\ubca4\ud2b8\ub97c \ucde8\ub4dd\ud560 \uc218 \uc788\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ExceptionCatch.jni_env\">jni_env<\/code><\/td>\n           <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ExceptionCatch.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc608\uc678\ub97c \uce90\uce58 \ud558\ub294 thread<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"ExceptionCatch.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc608\uc678\ub97c \uce90\uce58 \ud558\ub294 \uba54\uc18c\ub4dc<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"ExceptionCatch.location\">location<\/code><\/td>\n         <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\uc608\uc678\uac00 \uce90\uce58 \ub418\ub294 \uc704\uce58<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ExceptionCatch.exception\">exception<\/code><\/td>\n           <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\uce90\uce58 \ub418\ub294 \uc608\uc678<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ThreadStart\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>thread\uc758 \uac1c\uc2dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nThreadStart(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>thread \uac1c\uc2dc \uc774\ubca4\ud2b8\ub294, \uc0c8\ub85c\uc6b4 thread\uc5d0 \uc758\ud574, thread\uc758 \ucd08\uae30 \uba54\uc18c\ub4dc\uac00 \uc2e4\ud589\ub418\uae30 \uc804\uc5d0, \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread \uac1c\uc2dc \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub418\uae30 \uc804\uc5d0,<a href=\"#GetAllThreads\"><code>GetAllThreads<\/code><\/a> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \ubc30\uc5f4\uc5d0, \uadf8 thread\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub610, thread \uac1c\uc2dc \uc774\ubca4\ud2b8\uc758 \uc804\uc5d0, \uadf8 \uc678\uc758 \uc774\ubca4\ud2b8\uac00 thread\uc0c1\uc5d0 \uc0dd\uc131\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ubca4\ud2b8\ub294 \uc0c8\ub86d\uac8c \uac1c\uc2dc\ub41c <a href=\"#ThreadStart.thread\"><code>thread<\/code><\/a> \uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub2e8\uacc4\uc640 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_THREAD_START<\/code><\/td>\n            <td>52<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_THREAD_START, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ThreadStart.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ThreadStart.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uac1c\uc2dc\ud558\ub294 thread<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ThreadEnd\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>thread\uc758 \uc885\ub8cc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nThreadEnd(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>thread \uc885\ub8cc \uc774\ubca4\ud2b8\ub294, \uc815\uc9c0\ud558\ub824\uace0 \ud558\uace0 \uc788\ub294 thread\uc5d0 \uc758\ud574, thread\uc758 \ucd08\uae30 \uba54\uc18c\ub4dc\uc758 \uc2e4\ud589 \uc644\ub8cc \ud6c4\uc5d0, \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>thread \uc885\ub8cc \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub41c \ub4a4,<a href=\"#GetAllThreads\"><code>GetAllThreads<\/code><\/a> \uc5d0 \uc758\ud574 \ubc18\ud658\ub418\ub294 \ubc30\uc5f4\uc5d0, \uadf8 thread\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. thread \uc885\ub8cc \uc774\ubca4\ud2b8\uc758 \ub4a4, thread\uc0c1\uc5d0 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ubca4\ud2b8\ub294 \uc885\ub8cc\ud558\ub294 <a href=\"#ThreadEnd.thread\"><code>thread<\/code><\/a> \uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub2e8\uacc4\uc640 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_THREAD_END<\/code><\/td>\n          <td>53<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_THREAD_END, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ThreadEnd.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ThreadEnd.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uc885\ub8cc\ud558\ub294 thread<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ClassLoad\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud074\ub798\uc2a4\uc758 \ub85c\ub4dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nClassLoad(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jclass klass)<\/pre>\n<\/blockquote>\n\n<p>\ud074\ub798\uc2a4 \ub85c\ub4dc \uc774\ubca4\ud2b8\ub294, \ud074\ub798\uc2a4\uac00 \ucd5c\ucd08\ub85c \ub85c\ub4dc \ub41c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. \ud2b9\uc815\uc758 thread\uc5d0 \uc758\ud574 \ud074\ub798\uc2a4 \ub85c\ub4dc \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub418\ub294 \uc21c\uc11c\ub294, \uadf8 thread\ub0b4\uc5d0\uc11c \ud074\ub798\uc2a4\uac00 \ub85c\ub4dc \ub418\ub294 \uc21c\uc11c\uc640 \uc77c\uce58\ud558\ub294 \uac83\uc774 \ubcf4\uc99d\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ubc30\uc5f4 \ud074\ub798\uc2a4\uc758 \uc791\uc131\uc5d0\uc11c\ub294, \ud074\ub798\uc2a4 \ub85c\ub4dc \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (java.lang.Integer.TYPE \ub4f1)\uc758 \uc791\uc131\uc5d0\uc11c\ub294, \ud074\ub798\uc2a4 \ub85c\ub4dc \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc774\ubca4\ud2b8\ub294, \ud074\ub798\uc2a4\uc758 \ub85c\ub4dc\uc758 \ube60\ub978 \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \ud074\ub798\uc2a4\ub294 \uc2e0\uc911\ud558\uac8c \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uba54\uc18c\ub4dc\ub098 \ud544\ub4dc\uac00 \uc544\uc9c1 \ub85c\ub4dc \ub418\uc9c0 \uc54a\uace0, \uba54\uc18c\ub4dc, \ud544\ub4dc, \uc11c\ube0c \ud074\ub798\uc2a4\uac00 \uc870\ud68c\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \uc62c\ubc14\ub978 \uacb0\uacfc\ub294 \uc5bb\uc744 \uc218 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \u300cJava \uc5b8\uc5b4 \uc2a4\ud399\u300d\uc758 \u300cLoading of Classes and Interfaces\u300d\ub97c \ucc38\uc870\ud574 \uc8fc\uc138\uc694. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0,<a href=\"#ClassPrepare\"><code>ClassPrepare<\/code><\/a> \uac00 \uc720\ud6a8\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub2e8\uacc4\uc640 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_CLASS_LOAD<\/code><\/td>\n          <td>55<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassLoad.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ClassLoad.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud074\ub798\uc2a4\ub97c \ub85c\ub4dc\ud558\ub294 thread<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassLoad.klass\">klass<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\ub85c\ub4dc \ub418\ub294 \ud074\ub798\uc2a4<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ClassPrepare\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud074\ub798\uc2a4\uc758 \uc900\ube44<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nClassPrepare(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jclass klass)<\/pre>\n<\/blockquote>\n\n<p>\ud074\ub798\uc2a4 \uc900\ube44 \uc774\ubca4\ud2b8\ub294, \ud074\ub798\uc2a4\uc758 \uc900\ube44\uac00 \uc644\ub8cc\ud55c \uc2dc\uc810\uc5d0\uc11c \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc774 \uc2dc\uc810\uc5d0\uc11c\ub294, \ud074\ub798\uc2a4\uc758 \ud544\ub4dc, \uba54\uc18c\ub4dc, \ubc0f \uad6c\ud604\ub41c \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc774\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4\ub9cc, \ud074\ub798\uc2a4\uc758 \ucf54\ub4dc\ub294 \uc544\uc9c1 \uc544\ubb34\uac83\ub3c4 \uc2e4\ud589\ub418\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubc30\uc5f4 \ud074\ub798\uc2a4\ub294, \ud544\ub4dc\ub098 \uba54\uc18c\ub4dc\ub97c \uac00\uc9c0\ub294 \uac83\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0, \ubc30\uc5f4 \ud074\ub798\uc2a4\uc5d0 \ub3c4\ucc29\ud574 \ud074\ub798\uc2a4 \uc900\ube44 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub420 \uac83\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ud504\ub9ac\ubbf8\ud2f0\ube0c(primitive) \ud074\ub798\uc2a4 (\uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Integer.TYPE<\/code>)\uc5d0 \ub300\ud574\uc11c\ub3c4, \ud074\ub798\uc2a4 \uc900\ube44 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub2e8\uacc4\uc640 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_CLASS_PREPARE<\/code><\/td>\n           <td>56<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_CLASS_PREPARE, NULL)<\/code><\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassPrepare.jni_env\">jni_env<\/code><\/td>\n         <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ClassPrepare.thread\">thread<\/code><\/td>\n           <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ud074\ub798\uc2a4 \uc900\ube44 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud558\ub294 thread<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassPrepare.klass\">klass<\/code><\/td>\n         <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uc900\ube44\ub418\ub294 \ud074\ub798\uc2a4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ClassFileLoadHook\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ud074\ub798\uc2a4 \ud30c\uc77c \ub85c\ub4dc \ud6c5<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nClassFileLoadHook(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jclass class_being_redefined,\n            jobject loader,\n            const char* name,\n            jobject protection_domain,\n            jint class_data_len,\n            const unsigned char* class_data,\n            jint* new_class_data_len,\n            unsigned char** new_class_data)<\/pre>\n<\/blockquote>\n\n<p>\uc774 \uc774\ubca4\ud2b8\ub294, VM \uac00 \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\ub97c \ucde8\ub4dd\ud588\uc744 \ub54c, \uadf8 \ud074\ub798\uc2a4\uc758 \uba54\ubaa8\ub9ac \ub0b4\ubd80 \ud45c\ud604\uc744 \uad6c\ucd95\ud558\uae30 \uc804\uc758 \uc2dc\uc810\uc5d0\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \ub610, \uc774 \uc774\ubca4\ud2b8\ub294, \uc784\uc758\uc758 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud658\uacbd\ub0b4\ub85c\ubd80\ud130 \ubd88\ub824 \uac04 <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \ud568\uc218 \ub610\ub294 <a href=\"#RedefineClasses\"><code>RedefineClasses<\/code><\/a> \ud568\uc218\uc5d0 \uc758\ud574 \ud074\ub798\uc2a4\uac00 \ubcc0\uacbd \ub418\ub824\uace0 \ud558\uace0 \uc788\uc744 \ub54c\ub3c4 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub294, VM \uc5d0 \uc758\ud574 \uc1a1\uc2e0\ub41c \uae30\uc874\uc758 \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc5d0, \ud504\ub85c \ud30c\uc77c\ub9c1\/\ub514\ubc84\uadf8 \ud6c5\uc744 \uacc4\uce21 \ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#bci\">\ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation<\/a>\uc758 \uc124\uba85\uc744 \ucc38\uc870\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc774\ubca4\ud2b8\ub294, VM \uc758 \ucd08\uae30\ud654\uc804 (\ucd08\uae30<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>)\uc5d0 \uc1a1\uc2e0\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc2dc\uc810\uc5d0\uc11c\ub294, VM \uc790\uc6d0\uc740 \uc791\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud568\uc218 (\uc608\ub97c \ub4e4\uc5b4 ROMized classes)\uc640\uc758 \ud638\ud658\uc131\uc774 \uc5c6\ub294 \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294, \uc774 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294, \uba54\ubaa8\ub9ac \ud560\ub2f9 \ud568\uc218 <a href=\"#Allocate\"><code>Allocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574, \uc218\uc815\ud55c \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc758 \ubc84\ud37c\uc6a9\uc758 \uc601\uc5ed\uc744 \ud560\ub2f9\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc758 \ubc84\ud37c\ub97c \ud574\uc81c\ud558\ub294 \ucc98\ub9ac\ub294, VM \uc5d0 \uc758\ud574,<a href=\"#Deallocate\"><code>Deallocate<\/code><\/a> \ub97c \uc0ac\uc6a9\ud574 \uc2e4\ud589\ub418\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. <a href=\"#Allocate\"><code>Allocate<\/code><\/a> \ub294 \ucd08\uae30 \ub2e8\uacc4\uc548\uc5d0 \ud5c8\uac00\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc5d0\uc774\uc804\ud2b8\ub294, \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \ubcc0\uacbd\ud558\ub294 \uacbd\uc6b0, \uc0c8\ub86d\uac8c \uad6c\ud604\ub41c \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130 \ubc84\ud37c\ub97c \ud3ec\uc778\ud2b8 \ud558\ub3c4\ub85d(\ub4ef\uc774) <code>new_class_data<\/code> \ub97c \uc124\uc815\ud574, \uc774 \ud638\ucd9c\ub85c\ubd80\ud130 \ub3cc\uc544\uc624\uae30 \uc804\uc5d0,<code>new_class_data_len<\/code> \uc5d0 \uadf8 \ubc84\ud37c\uc758 \uae38\uc774\ub97c \uc124\uc815\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ubcc0\uacbd\uc774 \ubd88\ud544\uc694\ud55c \uacbd\uc6b0, \uc5d0\uc774\uc804\ud2b8\ub294 <code>new_class_data<\/code> \ub97c \uc124\uc815\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubcf5\uc218\uc758 \uc5d0\uc774\uc804\ud2b8\uac00 \uc774 \uc774\ubca4\ud2b8\ub97c \uc720\ud6a8\ud558\uac8c \ud558\uace0 \uc788\ub294 \uacbd\uc6b0, \uacb0\uacfc\ub294 \uccb4\uc778\uc774 \ub429\ub2c8\ub2e4. \uc989,<code>new_class_data<\/code> \uac00 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0\ub294, \uc774\uac83\uc774 \ub2e4\uc74c\uc758 \uc5d0\uc774\uc804\ud2b8\uc758 <code>class_data<\/code> \uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc774\ubca4\ud2b8\uac00 \uac01 \ud658\uacbd\uc5d0 \uc1a1\uc2e0\ub418\ub294 \ucc28\ub840\ub294, \ub2e4\ub978 \uc774\ubca4\ud2b8\uc758 \uacbd\uc6b0\uc640\ub294 \ub2e4\ub985\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294 \ub2e4\uc74c\uc758 \ucc28\ub840\ub85c \ud658\uacbd\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n  <li><a href=\"#jvmtiCapabilities.can_retransform_classes\">\uc7ac\ubcc0\ud658 \ubd88\uac00\ub2a5\ud55c <\/a>\ud658\uacbd (\uc791\uc131\ub41c \ucc28\ub840)<\/li>\n    <li><a href=\"#jvmtiCapabilities.can_retransform_classes\">\uc7ac\ubcc0\ud658 \uac00\ub2a5\ud55c <\/a>\ud658\uacbd (\uc791\uc131\ub41c \ucc28\ub840)<\/li>\n<\/ul>\n\n<p>\uc774 \uc774\ubca4\ud2b8\uac00 <a href=\"#RetransformClasses\"><code>RetransformClasses<\/code><\/a> \uc5d0 \uc758\ud574 \uae30\ub3d9\ub418\uc5c8\uc744 \uacbd\uc6b0,<a href=\"#jvmtiCapabilities.can_retransform_classes\">\uc7ac\ubcc0\ud658 \uac00\ub2a5\ud55c <\/a>\ud658\uacbd\uc5d0\ub9cc \uc774 \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ucd08\uae30 \ub2e8\uacc4, \uac1c\uc2dc \ub2e8\uacc4, \ubc0f \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n            <td><code>JVMTI_EVENT_CLASS_FILE_LOAD_HOOK<\/code><\/td>\n            <td>54<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_all_class_hook_events\"><code>can_generate_all_class_hook_events<\/code><\/a><\/td>\n            <td>\ub85c\ub4dc \ub41c \ubaa8\ub4e0 \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c, ClassFileLoadHook \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd \ucd08\uae30<a href=\"#GetPhase\">\ub2e8\uacc4<\/a>\uc548\uc5d0 \uc1a1\uc2e0\ub418\uc5c8\uc744 \uacbd\uc6b0\ub294 <code>NULL<\/code> \uac00 \ub41c\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.class_being_redefined\">class_being_redefined<\/code><\/td>\n            <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td><a href=\"#RedefineClasses\">\uc7ac\uc815\uc758 <\/a>\ub610\ub294<a href=\"#RetransformClasses\">\uc7ac\ubcc0\ud658<\/a>\ub418\ub294 \ud074\ub798\uc2a4. \ud074\ub798\uc2a4\uc758 \ub85c\ub4dc\uc5d0 \uc758\ud574 \uc1a1\uc2e0\ub418\uc5c8\uc744 \uacbd\uc6b0\ub294 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.loader\">loader<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud074\ub798\uc2a4\ub97c \ub85c\ub4dc\ud558\ub294 \ud074\ub798\uc2a4 \ub85c\ub354. bootstrap \ud074\ub798\uc2a4 \ub85c\ub354\uc758 \uacbd\uc6b0\ub294 <code>NULL<\/code>.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.name\">name<\/code><\/td>\n          <td><code>const char*<\/code><\/td>\n         <td>VM \ub0b4\ubd80 \uc218\uc2dd\uba85\uc73c\ub85c\uc11c \ub85c\ub4dc \ub418\ub294 \ud074\ub798\uc2a4\uba85 (&quot;java\/util\/List&quot; \ub4f1). <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4. \uc8fc:\ud074\ub798\uc2a4\uac00 \uc774\ub984 <code>NULL<\/code> \ub85c \uc815\uc758\ub418\uc5c8\ub294\uc9c0 \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uace0 \uc815\uc758\ub418\uc5c8\uc744 \uacbd\uc6b0,<code>name<\/code> \ub294 <code>NULL<\/code> \uac00 \ub41c\ub2e4.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.protection_domain\">protection_domain<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud074\ub798\uc2a4\uc758 <code>ProtectionDomain<\/code>.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.class_data_len\">class_data_len<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ud604\uc7ac\uc758 \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc758 \ubc84\ud37c\uc758 \uae38\uc774.<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.class_data\">class_data<\/code><\/td>\n          <td><code>const unsigned char*<\/code><\/td>\n            <td>\ud604\uc7ac\uc758 \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc758 \ubc84\ud37c\uc758 \ud3ec\uc778\ud130.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.new_class_data_len\">new_class_data_len<\/code><\/td>\n          <td><code><a href=\"#jint\">jint<\/a> *<\/code><\/td>\n            <td>\uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc758 \ubc84\ud37c\uc758 \uae38\uc774\uc758 \ud3ec\uc778\ud130.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ClassFileLoadHook.new_class_data\">new_class_data<\/code><\/td>\n          <td><code>unsigned char**<\/code><\/td>\n         <td>\uad6c\ud604\uc774 \ub05d\ub09c \ud074\ub798\uc2a4 \ud30c\uc77c \ub370\uc774\ud130\uc758 \ubc84\ud37c\uc758 \ud3ec\uc778\ud130\uc5d0\uc758 \ud3ec\uc778\ud130.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"VMStart\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>VM \uac1c\uc2dc \uc774\ubca4\ud2b8<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nVMStart(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env)<\/pre>\n<\/blockquote>\n\n<p>VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8\ub294, VM \uc758 \uac1c\uc2dc\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uc774 \uc2dc\uc810\uc5d0\uc11c JNI \ub294 \ub77c\uc774\ube0c\uc785\ub2c8\ub2e4\ub9cc, VM \ub294 \uc544\uc9c1 \uc644\uc804\ud558\uac8c \ucd08\uae30\ud654\ub418\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub41c \ub4a4\ub294, \uc5d0\uc774\uc804\ud2b8\ub294 \uc784\uc758\uc758 JNI \ud568\uc218\ub97c \uc790\uc720\ub86d\uac8c \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, \uac1c\uc2dc \ub2e8\uacc4\uc758 \uac1c\uc2dc\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uac1c\uc2dc \ub2e8\uacc4\uc5d0\uc11c \ud5c8\uac00\ub41c JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>VM \uc758 \uae30\ub3d9\uc5d0 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0, \uc774 \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\uac1c\uc2dc \ub2e8\uacc4\uc640 \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_VM_START<\/code><\/td>\n            <td>57<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_VM_START, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"VMStart.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"VMInit\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nVMInit(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread)<\/pre>\n<\/blockquote>\n\n<p>VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8\ub294, VM \uc758 \ucd08\uae30\ud654\uc758 \uc644\ub8cc\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub41c \ub4a4\ub294, \uc5d0\uc774\uc804\ud2b8\ub294 \uc784\uc758\uc758 JNI \ub610\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\ub97c \uc790\uc720\ub86d\uac8c \ud638\ucd9c\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4. VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8\ub294, \uadf8 \uc804\uc5d0 \ub2e4\ub978 \uc774\ubca4\ud2b8\uac00 \uc0dd\uc131\ub418\uac70\ub098 \ub2e4\ub978 \uc774\ubca4\ud2b8\uc640 \ub3d9\uc2dc\uc5d0 \uc0dd\uc131 \ub418\uac70\ub098 \ud558\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc911\uc5d0\uc11c VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8\uc758 \uc804\uc758 \uc0dd\uc131\ub418\ub294 \uc774\ubca4\ud2b8\uc5d0 \ub300\ud574\uc11c\ub294, VM \uc758 \ucd08\uae30\ud654\uac00 \uc544\uc9c1 \uc644\ub8cc\ud558\uace0 \uc788\uc9c0 \uc54a\uc558\uae30 \ub54c\ubb38\uc5d0, \ud2b9\ubcc4\ud788 \uc8fc\uc758\ud574 \ucc98\ub9ac\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uba54\uc778 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 thread\uc758 thread \uac1c\uc2dc \uc774\ubca4\ud2b8\ub294, VM \ucd08\uae30\ud654 \uc774\ubca4\ud2b8\uc758 \ud578\ub4e4\ub7ec\uac00 \ubcf5\uadc0\ud560 \ub54c\uae4c\uc9c0\ub294 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\ub294 \uac83\uc774 \ubcf4\uc99d\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>VM \uc758 \uae30\ub3d9\uc5d0 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0, \uc774 \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_VM_INIT<\/code><\/td>\n         <td>50<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"VMInit.jni_env\">jni_env<\/code><\/td>\n           <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"VMInit.thread\">thread<\/code><\/td>\n         <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ucd08\uae30 thread<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"VMDeath\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>VM \uc885\ub8cc \uc774\ubca4\ud2b8<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nVMDeath(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env)<\/pre>\n<\/blockquote>\n\n<p>VM \uc885\ub8cc \uc774\ubca4\ud2b8\ub294, VM \uc758 \uc885\ub8cc\ub97c \uc5d0\uc774\uc804\ud2b8\uc5d0 \ud1b5\uc9c0\ud569\ub2c8\ub2e4. VMDeath \uc774\ubca4\ud2b8\uc758 \ub4a4\ub294, \uc774\ubca4\ud2b8\ub294 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>VM \uc758 \uae30\ub3d9\uc5d0 \uc2e4\ud328\ud588\uc744 \uacbd\uc6b0, \uc774 \uc774\ubca4\ud2b8\ub294 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uacbd\uc6b0,<a href=\"#onunload\">Agent_OnUnload<\/a> \ub294 \ubd88\ub824 \uac00\ub294 \uc810\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_VM_DEATH<\/code><\/td>\n            <td>51<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"VMDeath.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"CompiledMethodLoad\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ucef4\ud30c\uc77c\uc774 \ub05d\ub09c \uba54\uc18c\ub4dc\uc758 \ub85c\ub4dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\ntypedef struct {\n    const void* start_address;\n    jlocation location;\n} jvmtiAddrLocationMap;<\/pre>\n\n<pre>\nvoid JNICALL\nCompiledMethodLoad(jvmtiEnv *jvmti_env,\n            jmethodID method,\n            jint code_size,\n            const void* code_addr,\n            jint map_length,\n            const jvmtiAddrLocationMap* map,\n            const void* compile_info)<\/pre>\n<\/blockquote>\n\n<p>\uba54\uc18c\ub4dc\uac00 VM \uc5d0 \uc758\ud574 \ucef4\ud30c\uc77c \ub418\uc5b4 \uba54\ubaa8\ub9ac\ub0b4\uc5d0 \ub85c\ub4dc \ub418\ub294 \uc2dc\uc810\uc5d0\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc5b8\ub85c\ub4dc\ub418\uc5c8\uc744 \uacbd\uc6b0,<a href=\"#CompiledMethodUnload\"><code>CompiledMethodUnload<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774\ub3d9\ud588\uc744 \uacbd\uc6b0, \uc0c8\ub85c\uc6b4 <code>CompiledMethodLoad<\/code> \uc774\ubca4\ud2b8\uc5d0 \uc774\uc5b4,<a href=\"#CompiledMethodUnload\"><code>CompiledMethodUnload<\/code><\/a> \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \ub2e8\uc77c\uc758 \uba54\uc18c\ub4dc\uac00 \ubcf5\uc218\uc758 \ud615\uc2dd\uc5d0\uc11c \ucef4\ud30c\uc77c \ub418\uc5b4 \uc774 \uc774\ubca4\ud2b8\uac00 \uadf8 \ud615\uc2dd \ub9c8\ub2e4 \uc1a1\uc2e0\ub418\ub294 \uc810\uc5d0 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694. \ub610, \ubcf5\uc218\uc758 \uba54\uc18c\ub4dc\uac00 \ub2e8\uc77c\uc758 \uc8fc\uc18c \ubc94\uc704\uc5d0 \uc778 \ub77c\uc778 \ub418\uc5b4 \uc774 \uc774\ubca4\ud2b8\uac00 \uac01 \uba54\uc18c\ub4dc \ub9c8\ub2e4 \uc1a1\uc2e0\ub418\ub294 \uc810\uc5d0\ub3c4 \uc8fc\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ub7ec\ud55c \uc774\ubca4\ud2b8\ub294, \ucd5c\ucd08\uc758 \ubc1c\uc0dd\ub4a4,<a href=\"#GenerateEvents\"><code>GenerateEvents<\/code><\/a> \uc5d0 \uc758\ud574 \uc1a1\uc2e0\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_COMPILED_METHOD_LOAD<\/code><\/td>\n            <td>68<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"jvmtiAddrLocationMap\">&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\"><code>jvmtiAddrLocationMap<\/code> - \uc704\uce58 \uc5d4\ud2b8\ub9ac\uc758 \ub124\uc774\ud2f0\ube0c \uc8fc\uc18c<\/td>\n     <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\ud544\ub4dc<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"jvmtiAddrLocationMap.start_address\">start_address<\/code><\/td>\n         <td><code>const void*<\/code><\/td>\n         <td>\uc704\uce58\uc5d0 \ub300\uc751\ud558\ub294 \ucf54\ub4dc\uc758 \uac1c\uc2dc \ub124\uc774\ud2f0\ube0c \uc8fc\uc18c<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"jvmtiAddrLocationMap.location\">location<\/code><\/td>\n           <td><code><a href=\"#jlocation\">jlocation<\/a> <\/code><\/td>\n           <td>\ub300\uc751\ud558\ub294 \uc704\uce58. \uc704\uce58\uc758 \uc758\ubbf8\uc5d0 \ub300\ud574\uc11c\ub294,<a href=\"#GetJLocationFormat\"><code>GetJLocationFormat<\/code><\/a> \ub97c \ucc38\uc870.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_compiled_method_load_events\"><code>can_generate_compiled_method_load_events<\/code><\/a><\/td>\n            <td>\uba54\uc18c\ub4dc\uc758 \ucef4\ud30c\uc77c\uc2dc \ub610\ub294 \uc5b8\ub85c\ub4dc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodLoad.method\">method<\/code><\/td>\n         <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\ucef4\ud30c\uc77c \ubc0f \ub85c\ub4dc \ub418\uace0 \uc788\ub294 \uba54\uc18c\ub4dc<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodLoad.code_size\">code_size<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ucef4\ud30c\uc77c \ub41c \ucf54\ub4dc\uc758 \uc0ac\uc774\uc988<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodLoad.code_addr\">code_addr<\/code><\/td>\n           <td><code>const void*<\/code><\/td>\n         <td>\ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc \ucf54\ub4dc\uac00 \ub85c\ub4dc \ub418\ub294 \uc8fc\uc18c<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodLoad.map_length\">map_length<\/code><\/td>\n         <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\uc8fc\uc18c \ub9f5\ub0b4\uc758 <a href=\"#jvmtiAddrLocationMap\"><code>jvmtiAddrLocationMap<\/code><\/a> \uc5d4\ud2b8\ub9ac\uc758 \uc218. \ub9e4\ud551 \uc815\ubcf4\uac00 \uc81c\uacf5\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub294 \uc81c\ub85c.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodLoad.map\">map<\/code><\/td>\n           <td><code>const <a href=\"#jvmtiAddrLocationMap\">jvmtiAddrLocationMap<\/a> *<\/code><\/td>\n          <td>\ub124\uc774\ud2f0\ube0c \uc8fc\uc18c\uc640 \uc704\uce58\uc758 \ub9e4\ud551. \uac01 \uc5d4\ud2b8\ub9ac\uc758 \ub124\uc774\ud2f0\ube0c \uc8fc\uc18c \ubc94\uc704\ub294,<a href=\"#jvmtiAddrLocationMap.start_address\"><code>start_address<\/code><\/a> \ub85c\ubd80\ud130 \ub2e4\uc74c\uc758 \uc5d4\ud2b8\ub9ac\uc758 <code>start_address-1<\/code> \uae4c\uc9c0. \ub9e4\ud551 \uc815\ubcf4\uac00 \uc81c\uacf5\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub294 <code>NULL<\/code>.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodLoad.compile_info\">compile_info<\/code><\/td>\n         <td><code>const void*<\/code><\/td>\n         <td>VM \uace0\uc720\uc758 \ucef4\ud30c\uc77c \uc815\ubcf4. \ucc38\uc870\ub418\ub294 \ucef4\ud30c\uc77c \uc815\ubcf4\ub294, VM \uc5d0 \uc758\ud574 \uad00\ub9ac\ub418\uc5b4 \uc218\uc9d1\uc744 \uc704\ud574\uc11c(\ub54c\ubb38\uc5d0) \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\uc874\ud558\uace0 \uc788\uc5b4\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc815\ubcf4\uc758 \ub0b4\uc6a9\uacfc \uc218\uba85\uc740, VM \uad6c\ud604\uc5d0 \uc758\ud574 \uc815\uc758\ub41c\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"CompiledMethodUnload\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ucef4\ud30c\uc77c\uc774 \ub05d\ub09c \uba54\uc18c\ub4dc\uc758 \uc5b8\ub85c\ub4dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nCompiledMethodUnload(jvmtiEnv *jvmti_env,\n            jmethodID method,\n            const void* code_addr)<\/pre>\n<\/blockquote>\n\n<p>\ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc\uac00 \uba54\ubaa8\ub9ac\ub85c\ubd80\ud130 \uc5b8\ub85c\ub4dc\ub418\ub294 \uc2dc\uc810\uc5d0\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, \uc5b8\ub85c\ub4dc\ub97c \uc2e4\ud589\ud55c thread\uc0c1\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294 \uac83\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, \uc5b8\ub85c\ub4dc\uc758 \ubc1c\uc0dd \ud6c4\uc5d0 \uc1a1\uc2e0\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \uc0c8\ub86d\uac8c \uc0dd\uc131\ub41c \ucef4\ud30c\uc77c\uc774 \ub05d\ub09c \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 \uba54\ubaa8\ub9ac\uac00 \uc7ac\uc0ac\uc6a9\ub418\uae30 \uc804\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, \ud074\ub798\uc2a4\uc758 \uc5b8\ub85c\ub4dc \ud6c4\uc5d0 \uc1a1\uc2e0\ub420 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_COMPILED_METHOD_UNLOAD<\/code><\/td>\n          <td>69<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_COMPILED_METHOD_UNLOAD, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_compiled_method_load_events\"><code>can_generate_compiled_method_load_events<\/code><\/a><\/td>\n            <td>\uba54\uc18c\ub4dc\uc758 \ucef4\ud30c\uc77c\uc2dc \ub610\ub294 \uc5b8\ub85c\ub4dc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodUnload.method\">method<\/code><\/td>\n           <td><code><a href=\"#jmethodID\">jmethodID<\/a> <\/code><\/td>\n           <td>\uc5b8\ub85c\ub4dc\ub418\ub294, \ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc. \uc5b8\ub85c\ub4dc\ub418\ub294, \ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc \ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc\ub97c \uc2dd\ubcc4\ud558\ub294 \ubaa9\uc801 \ubc16\uc5d0 \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. \ud074\ub798\uc2a4\ub294 \uc5b8\ub85c\ub4dc\ub418\uae30 (\uc704\ud574)\ub54c\ubb38\uc5d0, \uba54\uc18c\ub4dc\ub97c \uc774\ud6c4\uc758 JNI \ub610\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218\uc758 \uc778\uc218\ub85c\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"CompiledMethodUnload.code_addr\">code_addr<\/code><\/td>\n         <td><code>const void*<\/code><\/td>\n         <td>\ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc \ucf54\ub4dc\uac00 \ub85c\ub4dc \ub41c \uc8fc\uc18c. \ucef4\ud30c\uc77c \ub41c \uba54\uc18c\ub4dc\ub97c \uc2dd\ubcc4\ud558\ub294 \ubaa9\uc801 \ubc16\uc5d0 \uac00\uc9c0\uc9c0 \uc54a\ub294\ub2e4. \uacf5\uac04\uc740 \uc7ac\uc0dd\ub418\uace0 \uc788\uc744 \uac00\ub2a5\uc131\uc774 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"DynamicCodeGenerated\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ub3d9\uc801 \ucf54\ub4dc \uc0dd\uc131<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nDynamicCodeGenerated(jvmtiEnv *jvmti_env,\n            const char* name,\n            const void* address,\n            jint length)<\/pre>\n<\/blockquote>\n\n<p>\uac00\uc0c1 \uba38\uc2e0\uc758 \ucef4\ud37c\ub10c\ud2b8\uac00 \ub3d9\uc801\uc73c\ub85c \uc0dd\uc131\ub420 \ub54c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774\uac83\uc740, \ucef4\ud30c\uc77c \ub418\ub294 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\uc5d0\ub294 \ub300\uc751\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4 (<a href=\"#CompiledMethodLoad\"><code>CompiledMethodLoad<\/code><\/a> \ub97c \ucc38\uc870). \uc774\uac83\uc740 native code\uc804\uc6a9\uc774 \uc544\ub2d9\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc0dd\uc131\ub418\ub294 interpreter\ub294, \ucee4\uba58\ub4dc\ud589 \uc635\uc158\uc5d0 \ub530\ub77c\uc11c \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc774\ubca4\ud2b8\uc5d0\ub294, \uc81c\uc5b4 \uae30\ub2a5\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. VM \ub294, \uc774\ub7ec\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0, \uc544\ubb34\uac83\ub3c4 \uc1a1\uc2e0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ub7ec\ud55c \uc774\ubca4\ud2b8\ub294, \ucd5c\ucd08\uc758 \ubc1c\uc0dd\ub4a4,<a href=\"#GenerateEvents\"><code>GenerateEvents<\/code><\/a> \uc5d0 \uc758\ud574 \uc1a1\uc2e0\ud560 \uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ucd08\uae30 \ub2e8\uacc4, \uac1c\uc2dc \ub2e8\uacc4, \ubc0f \ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \uc1a1\uc2e0\ub41c\ub2e4<\/td>\n            <td><code>JVMTI_EVENT_DYNAMIC_CODE_GENERATED<\/code><\/td>\n          <td>70<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_DYNAMIC_CODE_GENERATED, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"DynamicCodeGenerated.name\">name<\/code><\/td>\n           <td><code>const char*<\/code><\/td>\n         <td>\ucf54\ub4dc\uc758 \uc774\ub984. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4. \ucd5c\uc885 \uc0ac\uc6a9\uc790\uc5d0\uc758 \ud45c\uc2dc\uc6a9. \uc774\ub984\uc740 \uc77c\uc758\uac00 \uc544\ub2c8\uc5b4\ub3c4 \uc88b\ub2e4.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"DynamicCodeGenerated.address\">address<\/code><\/td>\n         <td><code>const void*<\/code><\/td>\n         <td>\ucf54\ub4dc\uc758 \ub124\uc774\ud2f0\ube0c \uc8fc\uc18c<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"DynamicCodeGenerated.length\">length<\/code><\/td>\n           <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td>\ucf54\ub4dc\uc758 \uae38\uc774 (\ubc14\uc774\ud2b8 \ub2e8\uc704)<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"DataDumpRequest\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ub370\uc774\ud130 \ub364\ud504 \uc694\uad6c<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nDataDumpRequest(jvmtiEnv *jvmti_env)<\/pre>\n<\/blockquote>\n\n<p>VM \uc5d0 \uc758\ud574 \uc1a1\uc2e0\ub418\uc5b4 \uc5d0\uc774\uc804\ud2b8\uc5d0 \ub370\uc774\ud130\ub97c \ub364\ud504 \ud558\ub3c4\ub85d(\ub4ef\uc774) \uc694\uad6c\ud569\ub2c8\ub2e4. \uc774\uac83\uc740 \ub2e8\uc9c0 \uc2dc\uc0ac\ud558\uace0 \uc788\ub294 \uac83\ub9cc\uc73c\ub85c \uc788\uc5b4, \uc5d0\uc774\uc804\ud2b8\ub294 \uc774 \uc774\ubca4\ud2b8\uc5d0 \ubc18\ub4dc\uc2dc \ubc18\uc751\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740, \uc0ac\uc6a9\uc790\ub85c\ubd80\ud130\uc758 \ucee4\uba58\ub4dc\ud589 \uc2dc\uadf8\ub110\uc744 \ucc98\ub9ac\ud558\ub294 \uacbd\uc6b0\uc5d0 \ud3b8\ub9ac\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, JDK \uc758 \uacbd\uc6b0, Win32 \uc0c1\uc5d0\uc11c\ub294 Ctrl+Break \ud0a4, Solaris \uc0c1\uc5d0\uc11c\ub294 Ctrl+\\ \ud0a4\ub85c, \uc774 \uc774\ubca4\ud2b8\ub294 VM \ub85c\ubd80\ud130 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_DATA_DUMP_REQUEST<\/code><\/td>\n           <td>71<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_DATA_DUMP_REQUEST, NULL)<\/code><\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"MonitorContendedEnter\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uacbd\ud569 \ud558\ub294 \ubaa8\ub2c8\ud130 \uac1c\uc2dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nMonitorContendedEnter(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jobject object)<\/pre>\n<\/blockquote>\n\n<p>thread\uac00 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ubaa8\ub2c8\ud130\uc5d0 \ub4e4\uc5b4\uac00\ub824\uace0 \ud588\uc744 \ub54c, \uadf8 \ubaa8\ub2c8\ud130\uac00 \ubc8c\uc368 \ub2e4\ub978 thread\uc5d0 \uc758\ud574 \ud68d\ub4dd\ub418\uace0 \uc788\ub294 \uacbd\uc6b0\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_MONITOR_CONTENDED_ENTER<\/code><\/td>\n         <td>75<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_MONITOR_CONTENDED_ENTER, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_monitor_events\"><code>can_generate_monitor_events<\/code><\/a><\/td>\n          <td>\ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9\uc728\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MonitorContendedEnter.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"MonitorContendedEnter.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130\uc5d0 \ub4e4\uc5b4\uac00\ub824\uace0 \ud558\ub294 thread\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"MonitorContendedEnter.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"MonitorContendedEntered\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uacbd\ud569 \ud558\ub294 \ubaa8\ub2c8\ud130 \uac1c\uc2dc\uac00 \ub05d\ub09c \uc0c1\ud0dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nMonitorContendedEntered(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jobject object)<\/pre>\n<\/blockquote>\n\n<p>\ub2e4\ub978 thread\uac00 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ubaa8\ub2c8\ud130\ub97c \ud574\uc81c\ud558\ub294 \uac83\uc744 \uae30\ub2e4\ub9b0 \ud6c4\uc5d0, thread\uac00 \uadf8 Java \ubaa8\ub2c8\ud130\uc5d0 \ub4e4\uc5b4\uac08 \ub54c \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_MONITOR_CONTENDED_ENTERED<\/code><\/td>\n           <td>76<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_MONITOR_CONTENDED_ENTERED, NULL)<\/code><\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_monitor_events\"><code>can_generate_monitor_events<\/code><\/a><\/td>\n          <td>\ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9\uc728\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MonitorContendedEntered.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"MonitorContendedEntered.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130\uc5d0 \ub4e4\uc5b4\uac00\ub294 thread\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MonitorContendedEntered.object\">object<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"MonitorWait\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ubaa8\ub2c8\ud130 \ub300\uae30<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nMonitorWait(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jobject object,\n            jlong timeout)<\/pre>\n<\/blockquote>\n\n<p>thread\uac00 \uac1d\uccb4\ub97c \ub300\uae30\ud558\ub824\uace0 \ud558\uace0 \uc788\uc744 \ub54c \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_MONITOR_WAIT<\/code><\/td>\n            <td>73<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_MONITOR_WAIT, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_monitor_events\"><code>can_generate_monitor_events<\/code><\/a><\/td>\n          <td>\ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9\uc728\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MonitorWait.jni_env\">jni_env<\/code><\/td>\n          <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"MonitorWait.thread\">thread<\/code><\/td>\n            <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ub300\uae30\ud558\ub824\uace0 \ud558\ub294 thread\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"MonitorWait.object\">object<\/code><\/td>\n            <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"MonitorWait.timeout\">timeout<\/code><\/td>\n          <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>thread\uac00 \ub300\uae30\ud558\ub294 \uc2dc\uac04 (\ub2e8\uc704\ub294 \ubc00\ub9ac \uc138\ucee8\ub4dc).<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"MonitorWaited\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ubaa8\ub2c8\ud130 \ub300\uae30 \uc885\ub8cc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nMonitorWaited(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jobject object,\n            jboolean timed_out)<\/pre>\n<\/blockquote>\n\n<p>thread\uac00 \uac1d\uccb4\uc758 \ub300\uae30\ub97c \uc885\ub8cc\ud560 \uacbd\uc6b0\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_MONITOR_WAITED<\/code><\/td>\n          <td>74<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_MONITOR_WAITED, NULL)<\/code><\/td>\n         <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_monitor_events\"><code>can_generate_monitor_events<\/code><\/a><\/td>\n          <td>\ubaa8\ub2c8\ud130\uc758 \uc0ac\uc6a9\uc728\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MonitorWaited.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"MonitorWaited.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\ub300\uae30\ub97c \uc885\ub8cc\ud55c thread\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"MonitorWaited.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ubaa8\ub2c8\ud130\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"MonitorWaited.timed_out\">timed_out<\/code><\/td>\n            <td><code><a href=\"#jboolean\">jboolean<\/a> <\/code><\/td>\n         <td>\ubaa8\ub2c8\ud130\uac00 \ud0c0\uc784 \uc544\uc6c3\uc774 \ub418\uc5c8\uc744 \uacbd\uc6b0 true<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ResourceExhausted\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc790\uc6d0 \ubd80\uc871<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nResourceExhausted(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jint flags,\n            const void* reserved,\n            const char* description)<\/pre>\n<\/blockquote>\n\n<p>\uc2e4\ud589\uc911\uc758 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud544\uc694\ub85c \ud558\ub294 VM \uc790\uc6d0\uc774 \ub2e4 \uc368 \ubc84\ub824\uc84c\uc744 \ub54c\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc784\uc758\uc758 \uad8c\ud55c\uc5d0 \uc758\ud574 \ud544\uc694\ud558\uac8c \ub418\ub294 \uac83\uc744 \uc81c\uc678\ud558\uba74, \ubd80\uc871\uc744 \ubcf4\uace0\ud558\ub294 \uc790\uc6d0 \uc138\ud2b8\ub294 \uad6c\ud604\uc5d0 \uc758\uc874\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\uc74c\uc758 \ube44\ud2b8 \ud50c\ub798\uadf8\ub294, \uc790\uc6d0 \ubd80\uc871\uc758 \ud504\ub85c\ud37c\ud2f0\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n\n<blockquote><a name=\"jvmtiResourceExhaustionFlags\"><\/a>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n  <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\uc790\uc6d0 \ubd80\uc871 \ud50c\ub798\uadf8<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc815\uc218<\/td>\n         <td>\uce58<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR\">JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR<\/code><\/td>\n            <td align=\"right\">0x0001<\/td>\n           <td>\uc774 \uc774\ubca4\ud2b8\uac00 \ubc18\ud658\ub41c \ub4a4, VM \ub294 <code>java.lang.OutOfMemoryError<\/code> \ub97c throw \ud55c\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP\">JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP<\/code><\/td>\n            <td align=\"right\">0x0002<\/td>\n           <td>VM \uac00, Java<sup style=\"font-size: xx-small\">TM<\/sup> \ud50c\ub7ab\ud3fc\uc758 \u300cheap\u300d\ub85c\ubd80\ud130 \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ud560 \uc218\uac00 \uc5c6\uc5c8\ub2e4. <i><\/i>\u300cheap\u300d\ub780, \ubaa8\ub4e0 \ud074\ub798\uc2a4 \uc778\uc2a4\ud134\uc2a4 \ubc0f \ubc30\uc5f4\uc758 \uba54\ubaa8\ub9ac\uc758 \ud560\ub2f9\uc6d0\uc774 \ub418\ub294 \uc2e4\ud589\uc2dc \ub370\uc774\ud130 \uc601\uc5ed\uc774\ub2e4. <i><\/i><\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"JVMTI_RESOURCE_EXHAUSTED_THREADS\">JVMTI_RESOURCE_EXHAUSTED_THREADS<\/code><\/td>\n            <td align=\"right\">0x0004<\/td>\n           <td>VM \uac00 thread\ub97c \uc791\uc131\ud560 \uc218 \uc5c6\uc5c8\ub2e4.<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n<\/blockquote>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_RESOURCE_EXHAUSTED<\/code><\/td>\n          <td>80<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_RESOURCE_EXHAUSTED, NULL)<\/code><\/td>\n         <td>1.1<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\ud544\uc694\ud55c \uae30\ub2a5<\/b><\/td>\n     <\/tr>\n     <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" colspan=\"2\">\uc784\uc758\uc758 \uae30\ub2a5<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_resource_exhaustion_heap_events\"><code>can_generate_resource_exhaustion_heap_events<\/code><\/a><\/td>\n            <td>VM \uac00<a href=\"#JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP\">heap<\/a>\ub85c\ubd80\ud130 \uba54\ubaa8\ub9ac\uc758 \ud560\ub2f9\uc744 \uc2e4\uc2dc\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0, \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n      <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_resource_exhaustion_threads_events\"><code>can_generate_resource_exhaustion_threads_events<\/code><\/a><\/td>\n          <td>VM \uac00<a href=\"#JVMTI_RESOURCE_EXHAUSTED_THREADS\">thread\ub97c \uc791\uc131<\/a>\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ResourceExhausted.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ResourceExhausted.flags\">flags<\/code><\/td>\n            <td><code><a href=\"#jint\">jint<\/a> <\/code><\/td>\n         <td><a href=\"#jvmtiResourceExhaustionFlags\">\uc790\uc6d0 \ubd80\uc871 \ud50c\ub798\uadf8<\/a>\ub85c \uc9c0\uc815\ub418\ub294, \uc790\uc6d0 \ubd80\uc871\uc758 \ud504\ub85c\ud37c\ud2f0\uc744 \uc815\uc758\ud558\ub294 \ud50c\ub798\uadf8.<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"ResourceExhausted.reserved\">reserved<\/code><\/td>\n          <td><code>const void*<\/code><\/td>\n         <td>\uc608\uc57d\uc774 \ub05d\ub09c \uc0c1\ud0dc.<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"ResourceExhausted.description\">description<\/code><\/td>\n            <td><code>const char*<\/code><\/td>\n         <td>\uc790\uc6d0 \ubd80\uc871\uc758 \uc124\uba85. <a href=\"#mUTF\">\uc218\uc815 UTF-8<\/a> \uce90\ub9ad\ud130 \ub77c\uc778\uc73c\ub85c\uc11c encode \ub41c\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"VMObjectAlloc\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>VM \uac1d\uccb4 \ud560\ub2f9<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nVMObjectAlloc(jvmtiEnv *jvmti_env,\n            JNIEnv* jni_env,\n            jthread thread,\n            jobject object,\n            jclass object_klass,\n            jlong size)<\/pre>\n<\/blockquote>\n\n<p>\uba54\uc18c\ub4dc\uc5d0 \uc758\ud574, \uac00\uc0c1 \uba38\uc2e0\uc774 Java \ud504\ub85c\uadf8\ub7a8 \uc5b8\uc5b4 \ucf54\ub4dc\uc5d0 \ub300\ud574\uc11c \uac00\uc2dc\uc758 \uac1d\uccb4\ub97c \ud560\ub2f9\ud574 \uadf8 \uc678\uc758 \uad6c\ud604 \uae30\uad6c\uac00 \uc774 \ud560\ub2f9\uc744 \uac80\ucd9c\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c, \uac1d\uccb4 \ud560\ub2f9\uc740, \ud560\ub2f9\ud558\ub294 \uba54\uc18c\ub4dc\uc758 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \uad6c\ud604\ud558\ub294 \uac83\uc5d0 \uc758\ud574 \uac80\ucd9c\ub429\ub2c8\ub2e4. JNI \ud568\uc218 \ud638\ucd9c\uc5d0 \uc758\ud574, native code\ub85c \uc0dd\uc131\ub41c \uac1d\uccb4 \ud560\ub2f9\uc740,<a href=\"#jniIntercept\">JNI \ud568\uc218\uc758 \ucc28\ub2e8<\/a>\uc5d0 \uc758\ud574 \uac80\ucd9c\ub429\ub2c8\ub2e4. \ubc14\uc774\ud2b8 \ucf54\ub4dc\uc5d0 \uad00\ub828\uc9c0\uc744 \uc218 \uc788\uc9c0 \uc54a\uace0, \ub124\uc774\ud2f0\ube0c\uac00 \uc544\ub2cc \uba54\uc18c\ub4dc\ub294, VM \uc5d0 \uc758\ud574 \uc9c1\uc811 \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, \uc774\ub7ec\ud55c \uba54\uc18c\ub4dc\uc5d0 \uc758\ud574 \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uac00\uc0c1 \uba38\uc2e0\uc774, \uc774\ub7ec\ud55c \uba54\uc18c\ub4dc\uc758 \uc77c\ubd80 \ub610\ub294 \ubaa8\ub450\uc5d0 \ub300\ud574\uc11c \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \uad6c\ud604\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0, \uc774 \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub418\ub294 \uc77c\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\ub2e4\uc74c\uc5d0, \uc774 \uc774\ubca4\ud2b8\uac00 \uc1a1\uc2e0\ub418\ub294 \uc804\ud615\uc801\uc778 \uc0ac\ub840\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n  <li>\ub9ac\ud50c\ub809\uc158 -- \uc608\ub97c \ub4e4\uc5b4,<code>java.lang.Class.newInstance()<\/code><\/li>\n <li>\ubc14\uc774\ud2b8 \ucf54\ub4dc\ub85c \ub098\ud0c0\ub0b4\uc9c0\uc9c0 \uc54a\uc740 \uba54\uc18c\ub4dc -- \uc608\ub97c \ub4e4\uc5b4, VM \uc778\ud2b8\ub9b0\uc2dc\ud06c\uc2a4\uc640 J2ME \ud504\ub9ac\ub85c\ub4dc\ud06c\ub77c\uc2a4<\/li>\n<\/ul>\n\n<p>\ub2e4\uc74c\uc758 \uacbd\uc6b0, \uc774 \uc774\ubca4\ud2b8\ub294 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<ul type=\"disc\">\n  <li>\ubc14\uc774\ud2b8 \ucf54\ub4dc\uc5d0 \uc758\ud55c \ud560\ub2f9 -- \uc608\ub97c \ub4e4\uc5b4,<code>new<\/code> \ubc0f <code>newarray<\/code> VM \uba85\ub839<\/li>\n   <li>JNI \ud568\uc218 \ud638\ucd9c\uc5d0 \uc758\ud55c \ud560\ub2f9 -- \uc608\ub97c \ub4e4\uc5b4,<code>AllocObject<\/code><\/li>\n  <li>VM \ucd08\uae30\ud654\uc911\uc758 \ud560\ub2f9<\/li>\n   <li>VM \ub0b4\ubd80 \uac1d\uccb4<\/li>\n<\/ul>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_VM_OBJECT_ALLOC<\/code><\/td>\n         <td>84<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_VM_OBJECT_ALLOC, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_vm_object_alloc_events\"><code>can_generate_vm_object_alloc_events<\/code><\/a><\/td>\n          <td>\uac1d\uccb4\uc758 VM \ud560\ub2f9\ud574\uc5d0 \uad00\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"VMObjectAlloc.jni_env\">jni_env<\/code><\/td>\n            <td><code><a href=\"#JNIEnv\">JNIEnv<\/a> *<\/code><\/td>\n            <td>\uc774\ubca4\ud2b8\uc758 \ud604\uc7ac\uc758 thread\uc758 JNI \ud658\uacbd<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"VMObjectAlloc.thread\">thread<\/code><\/td>\n          <td><code><a href=\"#jthread\">jthread<\/a> <\/code><\/td>\n           <td>\uac1d\uccb4\ub97c \ud560\ub2f9\ud558\ub294 thread<\/td>\n       <\/tr>\n     <tr>\n          <td><code id=\"VMObjectAlloc.object\">object<\/code><\/td>\n          <td><code><a href=\"#jobject\">jobject<\/a> <\/code><\/td>\n           <td>\ud560\ub2f9\ud560 \uc218 \uc788\uc5c8\ub358 \uac1d\uccb4\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"VMObjectAlloc.object_klass\">object_klass<\/code><\/td>\n          <td><code><a href=\"#jclass\">jclass<\/a> <\/code><\/td>\n         <td>\uac1d\uccb4\uc758 \ud074\ub798\uc2a4\uc758 JNI \ub85c\uceec \ucc38\uc870<\/td>\n        <\/tr>\n     <tr>\n          <td><code id=\"VMObjectAlloc.size\">size<\/code><\/td>\n          <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\uac1d\uccb4\uc758 \uc0ac\uc774\uc988 (\ubc14\uc774\ud2b8 \ub2e8\uc704). <a href=\"#GetObjectSize\"><code>GetObjectSize<\/code><\/a> \ub97c \ucc38\uc870<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ObjectFree\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uac1d\uccb4\uc758 \ud574\uc81c<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nObjectFree(jvmtiEnv *jvmti_env,\n            jlong tag)<\/pre>\n<\/blockquote>\n\n<p>\uac1d\uccb4\uc758 \ud574\uc81c \uc774\ubca4\ud2b8\ub294, \uac00\ube44\uc9c0 \uceec\ub809\ud130\uac00 \uac1d\uccb4\ub97c \ud574\uc81c\ud55c \uc2dc\uc810\uc5d0\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774\ubca4\ud2b8\ub294, \ud0dc\uadf8 \ucca8\ubd80 \uac1d\uccb4\uc758 \uacbd\uc6b0\uc5d0\uac8c\ub9cc \uc1a1\uc2e0\ub429\ub2c8\ub2e4 (<a href=\"#Heap\">\u300cheap \ud568\uc218\u300d<\/a>\ub97c \ucc38\uc870).<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub294, \ud2b9\ubcc4\ud788 \uc0ac\uc6a9\uc774 \ud5c8\uac00\ub418\uace0 \uc788\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218 \uc774\uc678\uc758 \ud568\uc218 \ubc0f JNI \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 (raw \ubaa8\ub2c8\ud130 \ud568\uc218, \uba54\ubaa8\ub9ac \uad00\ub9ac \ud568\uc218, \ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed \ud568\uc218\ub97c \ucc38\uc870).<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n   <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_OBJECT_FREE<\/code><\/td>\n         <td>83<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)<\/code><\/td>\n            <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_object_free_events\"><code>can_generate_object_free_events<\/code><\/a><\/td>\n          <td>\uac00\ube44\uc9c0 \uceec\ub809\ud130\uac00 \uac1d\uccb4\ub97c \ud574\uc81c\ud560 \uacbd\uc6b0\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/td>\n        <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n     <tr>\n          <td><code id=\"ObjectFree.tag\">tag<\/code><\/td>\n           <td><code><a href=\"#jlong\">jlong<\/a> <\/code><\/td>\n           <td>\ud574\uc81c\ub418\ub294 \uac1d\uccb4\uc758 \ud0dc\uadf8<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"GarbageCollectionStart\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac1c\uc2dc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nGarbageCollectionStart(jvmtiEnv *jvmti_env)<\/pre>\n<\/blockquote>\n\n<p>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac1c\uc2dc \uc774\ubca4\ud2b8\ub294, \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc804\uc0ac\uc774\ud074\uc774 \uac1c\uc2dc\ub418\uc5c8\uc744 \ub54c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \ucc98\ub9ac\ub97c \uc815\uc9c0\ud558\ub294 (stop-the-world) \uceec\ub809\uc158, \uc989 \ubaa8\ub4e0 thread\uac00 Java \uac00\uc0c1 \uba38\uc2e0\uc758 \uc0c1\ud0dc\uc758 \ubcc0\uacbd\uc744 \uc885\ub8cc\ud558\uace0 \uc788\ub294 \ub3d9\uc548\uc5d0 \uc218\uc9d1\ub418\ub294 \uceec\ub809\uc158\ub9cc\uc774 \ub9ac\ud3ec\ud2b8\ub429\ub2c8\ub2e4. \uc774 \ub54c\ubb38\uc5d0, \uc218\uc9d1\uac00\uc5d0 \ub530\ub77c\uc11c\ub294, \uc774\ub7ec\ud55c \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, VM \uac00 \uc544\uc9c1 \uc815\uc9c0\ud558\uace0 \uc788\ub294 \ub3d9\uc548\uc5d0 \uc1a1\uc2e0\ub418\ubbc0\ub85c, \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub294, \ud2b9\ubcc4\ud788 \uc0ac\uc6a9\uc774 \ud5c8\uac00\ub418\uace0 \uc788\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218 \uc774\uc678\uc758 \ud568\uc218 \ubc0f JNI \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 (raw \ubaa8\ub2c8\ud130 \ud568\uc218, \uba54\ubaa8\ub9ac \uad00\ub9ac \ud568\uc218, \ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed \ud568\uc218\ub97c \ucc38\uc870).<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc774\ubca4\ud2b8\ub294, \ud56d\uc0c1 <a href=\"#GarbageCollectionFinish\"><code>GarbageCollectionFinish<\/code><\/a> \uc640 \uc77c\uce58\ud558\ub294 \ud398\uc5b4 (\uc5b4\ub290 \ucabd\uc758 \uc774\ubca4\ud2b8\ub3c4 \uc720\ud6a8\ub85c \uac04\uc8fc\ud574\uc9c4\ub2e4)\ub85c\uc11c \uc1a1\uc2e0\ub418\uc5b4 \uc774\ub7ec\ud55c \uc0ac\uc774\uc5d0, \uac00\ubca0\uc9c0 \uceec\ub809\uc158 \uc774\ubca4\ud2b8\ub294 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_GARBAGE_COLLECTION_START<\/code><\/td>\n            <td>81<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_START, NULL)<\/code><\/td>\n           <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_garbage_collection_events\"><code>can_generate_garbage_collection_events<\/code><\/a><\/td>\n            <td>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac1c\uc2dc \ub610\ub294 \uc885\ub8cc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"GarbageCollectionFinish\">&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc644\ub8cc<\/h2>\n\n<p>&nbsp;<\/p>\n\n<blockquote>\n<pre>\nvoid JNICALL\nGarbageCollectionFinish(jvmtiEnv *jvmti_env)<\/pre>\n<\/blockquote>\n\n<p>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc885\ub8cc \uc774\ubca4\ud2b8\ub294, \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc804\uc0ac\uc774\ud074\uc774 \uc885\ub8cc\ud588\uc744 \ub54c \uc1a1\uc2e0\ub429\ub2c8\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub294, VM \uac00 \uc544\uc9c1 \uc815\uc9c0\ud558\uace0 \uc788\ub294 \ub3d9\uc548\uc5d0 \uc1a1\uc2e0\ub418\ubbc0\ub85c, \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub294, \ud2b9\ubcc4\ud788 \uc0ac\uc6a9\uc774 \ud5c8\uac00\ub418\uace0 \uc788\ub294 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ud568\uc218 \uc774\uc678\uc758 \ud568\uc218 \ubc0f JNI \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 (raw \ubaa8\ub2c8\ud130 \ud568\uc218, \uba54\ubaa8\ub9ac \uad00\ub9ac \ud568\uc218, \ud658\uacbd \ub85c\uceec \uae30\uc5b5 \uc601\uc5ed \ud568\uc218\ub97c \ucc38\uc870).<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc77c\ubd80\uc758 \uc5d0\uc774\uc804\ud2b8\ub294, \ud5c8\uac00\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \ub610\ub294 JNI \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\ub294, \uac00\ubca0\uc9c0 \uceec\ub809\uc158 \ud6c4\uc758 \uc870\uc791\uc744 \uc2e4\uc2dc\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ud55c \uacbd\uc6b0, raw \ubaa8\ub2c8\ud130\ub85c \ub300\uae30\ud558\ub294 \uc5d0\uc774\uc804\ud2b8 thread\ub97c \uc791\uc131\ud560 \uc218 \uc788\uc5b4 \uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uc885\ub8cc \uc774\ubca4\ud2b8\uc5d0\uc11c\ub294, \ub2e8\uc9c0 raw \ubaa8\ub2c8\ud130\uc5d0 \ud1b5\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>\uc774 \uc774\ubca4\ud2b8\ub294, \ud56d\uc0c1 <a href=\"#GarbageCollectionStart\"><code>GarbageCollectionStart<\/code><\/a> \uc640 \uc77c\uce58\ud558\ub294 \ud398\uc5b4 (\uc5b4\ub290 \ucabd\uc758 \uc774\ubca4\ud2b8\ub3c4 \uc720\ud6a8\ub85c \uac04\uc8fc\ud574\uc9c4\ub2e4)\ub85c\uc11c \uc1a1\uc2e0\ub429\ub2c8\ub2e4.<\/p>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n  <tbody>\n       <tr bgcolor=\"#EEEEFF\">\n          <td><a href=\"#jvmtiPhase\">\ub2e8\uacc4<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\uc774\ubca4\ud2b8\ud615<\/a><\/td>\n         <td><a href=\"#jvmtiEvent\">\ubc88\ud638<\/a><\/td>\n         <td><a href=\"#enablingevents\">\uc720\ud6a8\ud654<\/a><\/td>\n           <td><a href=\"#ChangeHistory\">\ub3c4\uc785\ub41c \ubc84\uc83c<\/a><\/td>\n       <\/tr>\n     <tr>\n          <td>\ub77c\uc774\ube0c \ub2e8\uacc4\uc5d0\uc11c \ubc16\uc5d0 \uc1a1\uc2e0\ub418\uc9c0 \uc54a\ub294\ub2e4<\/td>\n         <td><code>JVMTI_EVENT_GARBAGE_COLLECTION_FINISH<\/code><\/td>\n           <td>82<\/td>\n           <td><code><a href=\"#SetEventNotificationMode\">SetEventNotificationMode<\/a> (JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, NULL)<\/code><\/td>\n          <td>1.0<\/td>\n      <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"2\">\uad8c\ud55c<\/td>\n        <\/tr>\n     <tr>\n          <td colspan=\"2\"><b>\uc784\uc758\uc758 \uae30\ub2a5:<\/b> \ubaa8\ub4e0 \uac00\uc0c1 \uba38\uc2e0\uc5d0 \uad6c\ud604\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4. \uc774 \uc774\ubca4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294, \ub2e4\uc74c\uc758 \uad8c\ud55c (<a href=\"#GetCapabilities\"><code>GetCapabilities<\/code><\/a> \ub85c\ubd80\ud130 \ubc18\ud658\ub41c\ub2e4)\uc774 true \uac00 \uc544\ub2c8\uba74 \uc548\ub41c\ub2e4.<\/td>\n       <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uad8c\ud55c<\/td>\n         <td>\ud6a8\uacfc<\/td>\n     <\/tr>\n     <tr>\n          <td><a href=\"#jvmtiCapabilities.can_generate_garbage_collection_events\"><code>can_generate_garbage_collection_events<\/code><\/a><\/td>\n            <td>\uac00\ubca0\uc9c0 \uceec\ub809\uc158\uc758 \uac1c\uc2dc \ub610\ub294 \uc885\ub8cc\uc2dc\uc5d0 \uc774\ubca4\ud2b8\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4<\/td>\n       <\/tr>\n <\/tbody>\n<\/table>\n\n<p>&nbsp;<\/p>\n\n<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">\n    <tbody>\n       <tr bgcolor=\"#CCCCFF\">\n          <td align=\"center\" class=\"tableHeader\" colspan=\"3\">\ud30c\ub77c\ubbf8\ud130<\/td>\n        <\/tr>\n     <tr bgcolor=\"#EEEEFF\">\n          <td>\uc774\ub984<\/td>\n         <td>\ud615<\/td>\n           <td>\uc124\uba85<\/td>\n     <\/tr>\n <\/tbody>\n<\/table>\n\n<p id=\"ConstantIndex\">&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\uc815\uc218\uc758 \uc0c9\uc778<\/h2>\n\n<blockquote><a href=\"#JVMTI_CLASS_STATUS_ARRAY\"><code>JVMTI_CLASS_STATUS_ARRAY<\/code><\/a><br \/>\n<a href=\"#JVMTI_CLASS_STATUS_ERROR\"><code>JVMTI_CLASS_STATUS_ERROR<\/code><\/a><br \/>\n<a href=\"#JVMTI_CLASS_STATUS_INITIALIZED\"><code>JVMTI_CLASS_STATUS_INITIALIZED<\/code><\/a><br \/>\n<a href=\"#JVMTI_CLASS_STATUS_PREPARED\"><code>JVMTI_CLASS_STATUS_PREPARED<\/code><\/a><br \/>\n<a href=\"#JVMTI_CLASS_STATUS_PRIMITIVE\"><code>JVMTI_CLASS_STATUS_PRIMITIVE<\/code><\/a><br \/>\n<a href=\"#JVMTI_CLASS_STATUS_VERIFIED\"><code>JVMTI_CLASS_STATUS_VERIFIED<\/code><\/a><br \/>\n<a href=\"#JVMTI_DISABLE\"><code>JVMTI_DISABLE<\/code><\/a><br \/>\n<a href=\"#JVMTI_ENABLE\"><code>JVMTI_ENABLE<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_FILTER_CLASS_TAGGED\"><code>JVMTI_HEAP_FILTER_CLASS_TAGGED<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_FILTER_CLASS_UNTAGGED\"><code>JVMTI_HEAP_FILTER_CLASS_UNTAGGED<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_FILTER_TAGGED\"><code>JVMTI_HEAP_FILTER_TAGGED<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_FILTER_UNTAGGED\"><code>JVMTI_HEAP_FILTER_UNTAGGED<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_OBJECT_EITHER\"><code>JVMTI_HEAP_OBJECT_EITHER<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_OBJECT_TAGGED\"><code>JVMTI_HEAP_OBJECT_TAGGED<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_OBJECT_UNTAGGED\"><code>JVMTI_HEAP_OBJECT_UNTAGGED<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT\"><code>JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_CLASS\"><code>JVMTI_HEAP_REFERENCE_CLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_CLASS_LOADER\"><code>JVMTI_HEAP_REFERENCE_CLASS_LOADER<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_CONSTANT_POOL\"><code>JVMTI_HEAP_REFERENCE_CONSTANT_POOL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_FIELD\"><code>JVMTI_HEAP_REFERENCE_FIELD<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_INTERFACE\"><code>JVMTI_HEAP_REFERENCE_INTERFACE<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_JNI_GLOBAL\"><code>JVMTI_HEAP_REFERENCE_JNI_GLOBAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_JNI_LOCAL\"><code>JVMTI_HEAP_REFERENCE_JNI_LOCAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_MONITOR\"><code>JVMTI_HEAP_REFERENCE_MONITOR<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_OTHER\"><code>JVMTI_HEAP_REFERENCE_OTHER<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN\"><code>JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_SIGNERS\"><code>JVMTI_HEAP_REFERENCE_SIGNERS<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_STACK_LOCAL\"><code>JVMTI_HEAP_REFERENCE_STACK_LOCAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_STATIC_FIELD\"><code>JVMTI_HEAP_REFERENCE_STATIC_FIELD<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_SUPERCLASS\"><code>JVMTI_HEAP_REFERENCE_SUPERCLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_SYSTEM_CLASS\"><code>JVMTI_HEAP_REFERENCE_SYSTEM_CLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_REFERENCE_THREAD\"><code>JVMTI_HEAP_REFERENCE_THREAD<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_JNI_GLOBAL\"><code>JVMTI_HEAP_ROOT_JNI_GLOBAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_JNI_LOCAL\"><code>JVMTI_HEAP_ROOT_JNI_LOCAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_MONITOR\"><code>JVMTI_HEAP_ROOT_MONITOR<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_OTHER\"><code>JVMTI_HEAP_ROOT_OTHER<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_STACK_LOCAL\"><code>JVMTI_HEAP_ROOT_STACK_LOCAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_SYSTEM_CLASS\"><code>JVMTI_HEAP_ROOT_SYSTEM_CLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_HEAP_ROOT_THREAD\"><code>JVMTI_HEAP_ROOT_THREAD<\/code><\/a><br \/>\n<a href=\"#JVMTI_ITERATION_ABORT\"><code>JVMTI_ITERATION_ABORT<\/code><\/a><br \/>\n<a href=\"#JVMTI_ITERATION_CONTINUE\"><code>JVMTI_ITERATION_CONTINUE<\/code><\/a><br \/>\n<a href=\"#JVMTI_ITERATION_IGNORE\"><code>JVMTI_ITERATION_IGNORE<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED\"><code>JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_MASK\"><code>JVMTI_JAVA_LANG_THREAD_STATE_MASK<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_NEW\"><code>JVMTI_JAVA_LANG_THREAD_STATE_NEW<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE\"><code>JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED\"><code>JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING\"><code>JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING<\/code><\/a><br \/>\n<a href=\"#JVMTI_JAVA_LANG_THREAD_STATE_WAITING\"><code>JVMTI_JAVA_LANG_THREAD_STATE_WAITING<\/code><\/a><br \/>\n<a href=\"#JVMTI_JLOCATION_JVMBCI\"><code>JVMTI_JLOCATION_JVMBCI<\/code><\/a><br \/>\n<a href=\"#JVMTI_JLOCATION_MACHINEPC\"><code>JVMTI_JLOCATION_MACHINEPC<\/code><\/a><br \/>\n<a href=\"#JVMTI_JLOCATION_OTHER\"><code>JVMTI_JLOCATION_OTHER<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_ALLOC_ALLOC_BUF\"><code>JVMTI_KIND_ALLOC_ALLOC_BUF<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_ALLOC_BUF\"><code>JVMTI_KIND_ALLOC_BUF<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_IN\"><code>JVMTI_KIND_IN<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_IN_BUF\"><code>JVMTI_KIND_IN_BUF<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_IN_PTR\"><code>JVMTI_KIND_IN_PTR<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_OUT\"><code>JVMTI_KIND_OUT<\/code><\/a><br \/>\n<a href=\"#JVMTI_KIND_OUT_BUF\"><code>JVMTI_KIND_OUT_BUF<\/code><\/a><br \/>\n<a href=\"#JVMTI_PHASE_DEAD\"><code>JVMTI_PHASE_DEAD<\/code><\/a><br \/>\n<a href=\"#JVMTI_PHASE_LIVE\"><code>JVMTI_PHASE_LIVE<\/code><\/a><br \/>\n<a href=\"#JVMTI_PHASE_ONLOAD\"><code>JVMTI_PHASE_ONLOAD<\/code><\/a><br \/>\n<a href=\"#JVMTI_PHASE_PRIMORDIAL\"><code>JVMTI_PHASE_PRIMORDIAL<\/code><\/a><br \/>\n<a href=\"#JVMTI_PHASE_START\"><code>JVMTI_PHASE_START<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_BOOLEAN\"><code>JVMTI_PRIMITIVE_TYPE_BOOLEAN<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_BYTE\"><code>JVMTI_PRIMITIVE_TYPE_BYTE<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_CHAR\"><code>JVMTI_PRIMITIVE_TYPE_CHAR<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_DOUBLE\"><code>JVMTI_PRIMITIVE_TYPE_DOUBLE<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_FLOAT\"><code>JVMTI_PRIMITIVE_TYPE_FLOAT<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_INT\"><code>JVMTI_PRIMITIVE_TYPE_INT<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_LONG\"><code>JVMTI_PRIMITIVE_TYPE_LONG<\/code><\/a><br \/>\n<a href=\"#JVMTI_PRIMITIVE_TYPE_SHORT\"><code>JVMTI_PRIMITIVE_TYPE_SHORT<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_ARRAY_ELEMENT\"><code>JVMTI_REFERENCE_ARRAY_ELEMENT<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_CLASS\"><code>JVMTI_REFERENCE_CLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_CLASS_LOADER\"><code>JVMTI_REFERENCE_CLASS_LOADER<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_CONSTANT_POOL\"><code>JVMTI_REFERENCE_CONSTANT_POOL<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_FIELD\"><code>JVMTI_REFERENCE_FIELD<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_INTERFACE\"><code>JVMTI_REFERENCE_INTERFACE<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_PROTECTION_DOMAIN\"><code>JVMTI_REFERENCE_PROTECTION_DOMAIN<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_SIGNERS\"><code>JVMTI_REFERENCE_SIGNERS<\/code><\/a><br \/>\n<a href=\"#JVMTI_REFERENCE_STATIC_FIELD\"><code>JVMTI_REFERENCE_STATIC_FIELD<\/code><\/a><br \/>\n<a href=\"#JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP\"><code>JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP<\/code><\/a><br \/>\n<a href=\"#JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR\"><code>JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR<\/code><\/a><br \/>\n<a href=\"#JVMTI_RESOURCE_EXHAUSTED_THREADS\"><code>JVMTI_RESOURCE_EXHAUSTED_THREADS<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_MAX_PRIORITY\"><code>JVMTI_THREAD_MAX_PRIORITY<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_MIN_PRIORITY\"><code>JVMTI_THREAD_MIN_PRIORITY<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_NORM_PRIORITY\"><code>JVMTI_THREAD_NORM_PRIORITY<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_ALIVE\"><code>JVMTI_THREAD_STATE_ALIVE<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER\"><code>JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_IN_NATIVE\"><code>JVMTI_THREAD_STATE_IN_NATIVE<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_IN_OBJECT_WAIT\"><code>JVMTI_THREAD_STATE_IN_OBJECT_WAIT<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_INTERRUPTED\"><code>JVMTI_THREAD_STATE_INTERRUPTED<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_PARKED\"><code>JVMTI_THREAD_STATE_PARKED<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_RUNNABLE\"><code>JVMTI_THREAD_STATE_RUNNABLE<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_SLEEPING\"><code>JVMTI_THREAD_STATE_SLEEPING<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_SUSPENDED\"><code>JVMTI_THREAD_STATE_SUSPENDED<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_TERMINATED\"><code>JVMTI_THREAD_STATE_TERMINATED<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_VENDOR_1\"><code>JVMTI_THREAD_STATE_VENDOR_1<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_VENDOR_2\"><code>JVMTI_THREAD_STATE_VENDOR_2<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_VENDOR_3\"><code>JVMTI_THREAD_STATE_VENDOR_3<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_WAITING\"><code>JVMTI_THREAD_STATE_WAITING<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_WAITING_INDEFINITELY\"><code>JVMTI_THREAD_STATE_WAITING_INDEFINITELY<\/code><\/a><br \/>\n<a href=\"#JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT\"><code>JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT<\/code><\/a><br \/>\n<a href=\"#JVMTI_TIMER_ELAPSED\"><code>JVMTI_TIMER_ELAPSED<\/code><\/a><br \/>\n<a href=\"#JVMTI_TIMER_TOTAL_CPU\"><code>JVMTI_TIMER_TOTAL_CPU<\/code><\/a><br \/>\n<a href=\"#JVMTI_TIMER_USER_CPU\"><code>JVMTI_TIMER_USER_CPU<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_CCHAR\"><code>JVMTI_TYPE_CCHAR<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_CVOID\"><code>JVMTI_TYPE_CVOID<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JBOOLEAN\"><code>JVMTI_TYPE_JBOOLEAN<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JBYTE\"><code>JVMTI_TYPE_JBYTE<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JCHAR\"><code>JVMTI_TYPE_JCHAR<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JCLASS\"><code>JVMTI_TYPE_JCLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JDOUBLE\"><code>JVMTI_TYPE_JDOUBLE<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JFIELDID\"><code>JVMTI_TYPE_JFIELDID<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JFLOAT\"><code>JVMTI_TYPE_JFLOAT<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JINT\"><code>JVMTI_TYPE_JINT<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JLONG\"><code>JVMTI_TYPE_JLONG<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JMETHODID\"><code>JVMTI_TYPE_JMETHODID<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JNIENV\"><code>JVMTI_TYPE_JNIENV<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JOBJECT\"><code>JVMTI_TYPE_JOBJECT<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JSHORT\"><code>JVMTI_TYPE_JSHORT<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JTHREAD\"><code>JVMTI_TYPE_JTHREAD<\/code><\/a><br \/>\n<a href=\"#JVMTI_TYPE_JVALUE\"><code>JVMTI_TYPE_JVALUE<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERBOSE_CLASS\"><code>JVMTI_VERBOSE_CLASS<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERBOSE_GC\"><code>JVMTI_VERBOSE_GC<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERBOSE_JNI\"><code>JVMTI_VERBOSE_JNI<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERBOSE_OTHER\"><code>JVMTI_VERBOSE_OTHER<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_INTERFACE_JNI\"><code>JVMTI_VERSION_INTERFACE_JNI<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_INTERFACE_JVMTI\"><code>JVMTI_VERSION_INTERFACE_JVMTI<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_MASK_INTERFACE_TYPE\"><code>JVMTI_VERSION_MASK_INTERFACE_TYPE<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_MASK_MAJOR\"><code>JVMTI_VERSION_MASK_MAJOR<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_MASK_MICRO\"><code>JVMTI_VERSION_MASK_MICRO<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_MASK_MINOR\"><code>JVMTI_VERSION_MASK_MINOR<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_SHIFT_MAJOR\"><code>JVMTI_VERSION_SHIFT_MAJOR<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_SHIFT_MICRO\"><code>JVMTI_VERSION_SHIFT_MICRO<\/code><\/a><br \/>\n<a href=\"#JVMTI_VERSION_SHIFT_MINOR\"><code>JVMTI_VERSION_SHIFT_MINOR<\/code><\/a><br \/>\n<a href=\"#JVMTI_VISIT_ABORT\"><code>JVMTI_VISIT_ABORT<\/code><\/a><br \/>\n<a href=\"#JVMTI_VISIT_OBJECTS\"><code>JVMTI_VISIT_OBJECTS<\/code><\/a><\/blockquote>\n\n<p id=\"ChangeHistory\">&nbsp;<\/p>\n\n<p>&nbsp;<\/p>\n\n<hr noshade=\"noshade\" size=\"3\" \/>\n<h2>\ubcc0\uacbd \uc774\ub825<\/h2>\n\n<p>\ucd5c\uc885 \uac31\uc2e0\uc77c:06\/08\/06 22:33:32<br \/>\n\ud30c\uc77c\uc758 \ubc84\uc83c:@(#) jvmti.xml 1.202<br \/>\n\ubc84\uc83c: 1.1. 102<\/p>\n\n<p>&nbsp;<\/p>\n\n<p>JVM<small style=\"font-size: xx-small\">&nbsp;<\/small>TI \uc2a4\ud399\uc740 \ubc1c\uc804\uc911\uc758 \ubb38\uc11c\uc774\uba70, \uba54\uc774\uc800, \ub9c8\uc774\ub108, \ub9c8\uc774\ud06c\ub85c\uc758 \uac01 \ubc84\uc83c \ubc88\ud638\ub97c \uac00\uc9d1\ub2c8\ub2e4. \uc790\uc6d0\ud310\uc758 \uc2a4\ud399\uc740, \uba54\uc774\uc800 \ubc84\uc83c\uacfc \ub9c8\uc774\ub108 \ubc84\uc83c\uc5d0 \uc758\ud574 \uc77c\uc758\uc5d0 \uc2dd\ubcc4\ub429\ub2c8\ub2e4. \uc774 \uc2a4\ud399\uc5d0 \ud3ec\ud568\ub418\ub294 \ud568\uc218, \uc774\ubca4\ud2b8, \ubc0f \uad8c\ud55c\uc5d0\ub294, \u300c\ub3c4\uc785\ub41c \ubc84\uc83c\u300d\uce58\uac00 \ub098\ud0c0\ub098\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740, \uadf8\ub7ec\ud55c \uae30\ub2a5\uc774 \ub3c4\uc785\ub41c \uba54\uc774\uc800 \ubc84\uc83c\uacfc \ub9c8\uc774\ub108 \ubc84\uc83c\uc785\ub2c8\ub2e4. VM \uac00 \uad6c\ud604\ud558\uace0 \uc788\ub294 \uc2a4\ud399\uc758 \ubc84\uc83c\uc744 \uc2e4\ud589\uc2dc\uc5d0 \uac00\uc838\uc624\ub824\uba74 ,<a href=\"#GetVersionNumber\"><code>GetVersionNumber<\/code><\/a> \ud568\uc218\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ucd9c\ucc98:&nbsp;https:\/\/www.hunskorea.com\/docs\/ko\/platform\/jvmti\/jvmti.html JavaTM Virtual Machine Tool Interface Version 1.1 \ucc98\uc74c\uc5d0 JVMTI \ub780 \uc544\ud0a4\ud14d\uccd0(architecture) \uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc131 \uc5d0\uc774\uc804\ud2b8\uc758 \ubc30\uce58 JVMTI \uc5d0\uc774\uc804\ud2b8\uc758 \ucee4\uba58\ub4dc\ud589 \uc635\uc158 \uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 \uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 (OnLoad \ub2e8\uacc4) \uc5d0\uc774\uc804\ud2b8\uc758 \uae30\ub3d9 (\ub77c\uc774\ube0c \ub2e8\uacc4) \uc5d0\uc774\uc804\ud2b8\uc758 \uc815\uc9c0 JAVA_TOOL_OPTIONS JVMTI \ud658\uacbd \ubc14\uc774\ud2b8\ucf54\ub4dcInstrumentation \uc218\uc815 UTF-8 \uc758 \uce90\ub9ad\ud130 \ub77c\uc778 \uc778\ucf54\ub529 \uc2a4\ud399\uc758 \ubb38\ub9e5 \ud568\uc218 JVMTI \ud568\uc218\uc758 \uc561\uc138\uc2a4 \ud568\uc218\uc758 \ubc18\ud658\uac12 JNI \uac1d\uccb4 \ucc38\uc870\uc758 \uad00\ub9ac \ud568\uc218 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[17],"tags":[],"class_list":["post-907","post","type-post","status-publish","format-standard","hentry","category-development_dev_tools"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=907"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/907\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}