diff options
author | Mateusz Moscicki <m.moscicki2@partner.samsung.com> | 2019-04-10 11:40:33 +0200 |
---|---|---|
committer | Gleb Balykov <g.balykov@samsung.com> | 2020-03-25 15:29:41 +0300 |
commit | 7864faae19cefcee12d7fbe335349b6f40a630cd (patch) | |
tree | 734e89a60e6cf4634ef68e2086cd3577ebec5ab3 /src/debug/createdump/dnetmemoryenumlib.h | |
parent | 3f69740f5fee0a05a3965e3da83adfdaef00af9e (diff) | |
download | coreclr-7864faae19cefcee12d7fbe335349b6f40a630cd.tar.gz coreclr-7864faae19cefcee12d7fbe335349b6f40a630cd.tar.bz2 coreclr-7864faae19cefcee12d7fbe335349b6f40a630cd.zip |
[Tizen] Add a library to retrieve memory regions for a coredump
This is needed to save a minicoredump of .NET applications to allows
reconstruct managed stack by lldb and SOS plugin.
Diffstat (limited to 'src/debug/createdump/dnetmemoryenumlib.h')
-rw-r--r-- | src/debug/createdump/dnetmemoryenumlib.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/debug/createdump/dnetmemoryenumlib.h b/src/debug/createdump/dnetmemoryenumlib.h new file mode 100644 index 0000000000..76e65eea4b --- /dev/null +++ b/src/debug/createdump/dnetmemoryenumlib.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __DNETMEMORYENUMLIB_H__ +#define __DNETMEMORYENUMLIB_H__ + +#include <stdint.h> +#include <stdlib.h> + +struct SimpleMemoryRegion { + uintptr_t m_startAddress; + size_t m_size; +}; + +enum DUMP_TYPE { + DT_NORMAL = 0, + DT_WITH_PRIV_AND_SHARED_MEM, + DT_FULL +}; + +enum REG_ERR { + REGERR_OK = 0, + REGERR_WRONG_PID = -1, + REGERR_INITIALIZATION_ERROR = -2, + REGERR_ENUMERATION_ERROR = -3 +}; + +extern "C" int DotNetMemoryEnumRegions(pid_t pid, elf_prstatus **statuses, int statuses_count, + DUMP_TYPE minidump_type, SimpleMemoryRegion **regions); +extern "C" int DotNetMemoryEnumInit(); +extern "C" void DotNetMemoryEnumFinish(); + +#endif |