Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/teraterm/ttermpro.v17.sln

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10129 - (hide annotations) (download)
Tue Aug 9 01:08:26 2022 UTC (20 months ago) by zmatsuo
Original Path: trunk/teraterm/ttermpro.v16.sln
File size: 4424 byte(s)
ttpset.dll を ttermpro.exe へマージした

- EXE(ttermpro.exe)とDLL(ttpset.dll)の各々にヒープが存在する
- モジュール(各ファイル)をまたいでお互いのヒープを操作すると問題が起きる
  - dll側で確保してexe側で開放するなどの操作
  - ヒープを操作するとアサートが出るなど問題
  - どんな問題が出るのかについてのドキュメントは見当たらない
  - _CrtIsValidHeapPointer()の説明のヒープ部分から…
    - Visual Studio 2010 以降のCRTはヒープは単一になっているのかもしれない
    - でも、DLLにstatic CRTがリンクされているときは、DLL個別のヒープが存在する
    - Tera Term は static CRT を使用している → DLLに個別のヒープが存在する
- Tera Term 5 では、iniファイルから読み込んだファイル,パス文字列をヒープに置くようにした
  - ttpset.dllがiniファイルの読み書きを担っていた
  - Unicode対応と合わせて、ファイル名長の上限を撤廃しようとしている
  - 従来の上限→MAX_PATH文字
  - パスの変更などでモジュールをまたいだヒープ操作が行われることになり、問題が起こる可能性がある
    - ログ保存先フォルダを変更するときなどに、malloc(),free()が行われる
- ttpset.dllをなくして、その機能をttermpro.exeに取り込むことでヒープに関する問題が出る可能性を減らす
- ttssh2-dev 409

ticket #45330
1 zmatsuo 7567 Microsoft Visual Studio Solution File, Format Version 12.00
2 zmatsuo 8494 # Visual Studio Version 16
3 yutakapon 7590 VisualStudioVersion = 16.0.28803.156
4 zmatsuo 7567 MinimumVisualStudioVersion = 10.0.40219.1
5     Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ttermpro", "teraterm\ttermpro.v16.vcxproj", "{BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}"
6     EndProject
7     Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "keycode", "keycode\keycode.v16.vcxproj", "{B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}"
8     EndProject
9     Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ttpcmn", "ttpcmn\ttpcmn.v16.vcxproj", "{118E0D32-5553-4F73-9927-E873C1C500E4}"
10     EndProject
11     Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ttpmacro", "ttpmacro\ttpmacro.v16.vcxproj", "{BA519362-A2C2-4B1A-905B-F00791F9038A}"
12     EndProject
13     Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ttptek", "ttptek\ttptek.v16.vcxproj", "{6D08053B-1C68-4A7E-8766-3553F5AF010B}"
14     EndProject
15 zmatsuo 8494 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common_static", "common\common_static.v16.vcxproj", "{AC42387D-23EC-45DB-81F9-8933C7EFA52A}"
16     EndProject
17 zmatsuo 7567 Global
18     GlobalSection(SolutionConfigurationPlatforms) = preSolution
19     Debug|Win32 = Debug|Win32
20 zmatsuo 8681 Debug|x64 = Debug|x64
21 zmatsuo 7567 Release|Win32 = Release|Win32
22 zmatsuo 8681 Release|x64 = Release|x64
23 zmatsuo 7567 EndGlobalSection
24     GlobalSection(ProjectConfigurationPlatforms) = postSolution
25     {BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}.Debug|Win32.ActiveCfg = Debug|Win32
26     {BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}.Debug|Win32.Build.0 = Debug|Win32
27 zmatsuo 8681 {BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}.Debug|x64.ActiveCfg = Debug|Win32
28 zmatsuo 7567 {BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}.Release|Win32.ActiveCfg = Release|Win32
29     {BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}.Release|Win32.Build.0 = Release|Win32
30 zmatsuo 8681 {BC4CDBE3-6269-47A8-BD74-EEB3A6160E06}.Release|x64.ActiveCfg = Release|Win32
31 zmatsuo 7567 {B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}.Debug|Win32.ActiveCfg = Debug|Win32
32     {B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}.Debug|Win32.Build.0 = Debug|Win32
33 zmatsuo 8681 {B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}.Debug|x64.ActiveCfg = Debug|Win32
34 zmatsuo 7567 {B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}.Release|Win32.ActiveCfg = Release|Win32
35     {B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}.Release|Win32.Build.0 = Release|Win32
36 zmatsuo 8681 {B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}.Release|x64.ActiveCfg = Release|Win32
37 zmatsuo 7567 {118E0D32-5553-4F73-9927-E873C1C500E4}.Debug|Win32.ActiveCfg = Debug|Win32
38     {118E0D32-5553-4F73-9927-E873C1C500E4}.Debug|Win32.Build.0 = Debug|Win32
39 zmatsuo 8681 {118E0D32-5553-4F73-9927-E873C1C500E4}.Debug|x64.ActiveCfg = Debug|Win32
40 zmatsuo 7567 {118E0D32-5553-4F73-9927-E873C1C500E4}.Release|Win32.ActiveCfg = Release|Win32
41     {118E0D32-5553-4F73-9927-E873C1C500E4}.Release|Win32.Build.0 = Release|Win32
42 zmatsuo 8681 {118E0D32-5553-4F73-9927-E873C1C500E4}.Release|x64.ActiveCfg = Release|Win32
43 zmatsuo 7567 {BA519362-A2C2-4B1A-905B-F00791F9038A}.Debug|Win32.ActiveCfg = Debug|Win32
44     {BA519362-A2C2-4B1A-905B-F00791F9038A}.Debug|Win32.Build.0 = Debug|Win32
45 zmatsuo 8681 {BA519362-A2C2-4B1A-905B-F00791F9038A}.Debug|x64.ActiveCfg = Debug|Win32
46 zmatsuo 7567 {BA519362-A2C2-4B1A-905B-F00791F9038A}.Release|Win32.ActiveCfg = Release|Win32
47     {BA519362-A2C2-4B1A-905B-F00791F9038A}.Release|Win32.Build.0 = Release|Win32
48 zmatsuo 8681 {BA519362-A2C2-4B1A-905B-F00791F9038A}.Release|x64.ActiveCfg = Release|Win32
49 zmatsuo 7567 {6D08053B-1C68-4A7E-8766-3553F5AF010B}.Debug|Win32.ActiveCfg = Debug|Win32
50     {6D08053B-1C68-4A7E-8766-3553F5AF010B}.Debug|Win32.Build.0 = Debug|Win32
51 zmatsuo 8681 {6D08053B-1C68-4A7E-8766-3553F5AF010B}.Debug|x64.ActiveCfg = Debug|Win32
52 zmatsuo 7567 {6D08053B-1C68-4A7E-8766-3553F5AF010B}.Release|Win32.ActiveCfg = Release|Win32
53     {6D08053B-1C68-4A7E-8766-3553F5AF010B}.Release|Win32.Build.0 = Release|Win32
54 zmatsuo 8681 {6D08053B-1C68-4A7E-8766-3553F5AF010B}.Release|x64.ActiveCfg = Release|Win32
55 zmatsuo 8494 {AC42387D-23EC-45DB-81F9-8933C7EFA52A}.Debug|Win32.ActiveCfg = Debug|Win32
56     {AC42387D-23EC-45DB-81F9-8933C7EFA52A}.Debug|Win32.Build.0 = Debug|Win32
57 zmatsuo 8681 {AC42387D-23EC-45DB-81F9-8933C7EFA52A}.Debug|x64.ActiveCfg = Debug|Win32
58 zmatsuo 8494 {AC42387D-23EC-45DB-81F9-8933C7EFA52A}.Release|Win32.ActiveCfg = Release|Win32
59     {AC42387D-23EC-45DB-81F9-8933C7EFA52A}.Release|Win32.Build.0 = Release|Win32
60 zmatsuo 8681 {AC42387D-23EC-45DB-81F9-8933C7EFA52A}.Release|x64.ActiveCfg = Release|Win32
61 zmatsuo 7567 EndGlobalSection
62     GlobalSection(SolutionProperties) = preSolution
63     HideSolutionNode = FALSE
64     EndGlobalSection
65 zmatsuo 8681 GlobalSection(ExtensibilityGlobals) = postSolution
66     SolutionGuid = {57398713-FF6F-431A-903D-9FE34DC5F9DF}
67     EndGlobalSection
68 zmatsuo 7567 EndGlobal

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26